Generating a meeting review document that includes links to the one or more documents reviewed

ABSTRACT

Artificial intelligence is introduced into document review to identify content suggestions from input to generate suggested annotations for the reviewed document. An approach is provided for receiving an electronic document that contains original content from an original electronic document for review and electronic mark-ups provided by a first user. One or more electronic mark-ups that represent content suggestions proposed by the first user are identified from the electronic document. For each electronic mark-up of the one or more electronic mark-ups identified a document portion of the original content that corresponds to the electronic mark-up is identified, and an annotation is generated for the electronic mark-up comprising the electronic mark-up and a first user ID for the first user and associating the annotation to the document portion identified. The original content with one or more annotations generated from the one or more electronic mark-ups is displayed, in electronic form, within a display window.

RELATED APPLICATION DATA

This application is related to U.S. patent application Ser. No.14/992,273 (Attorney Docket No. 49086-0859) entitled “Electronic MeetingIntelligence”, filed Jan. 11, 2016, U.S. patent application Ser. No.14/992,278 (Attorney Docket No. 49986-0860) entitled “Electronic MeetingIntelligence”, filed Jan. 11, 2016, U.S. patent application Ser. No.15/290,855 (Attorney Docket No. 49986-0888) entitled “ManagingElectronic Meetings Using Artificial Intelligence and Meeting RulesTemplates”, filed Oct. 11, 2016, U.S. patent application Ser. No.15/290,856 (Attorney Docket No. 49986-0889) entitled “Creating Agendasfor Electronic Meetings Using Artificial Intelligence”, filed Oct. 11,2016, U.S. patent application Ser. No. 15/290,858 (Attorney Docket No.49986-0890) entitled “Selecting Meeting Participants for ElectronicMeetings Using Artificial Intelligence”, filed Oct. 11, 2016, U.S.patent application Ser. No. 15/290,860 (Attorney Docket No. 49986-0891)entitled “Real-Time (Intra-Meeting) Processing Using ArtificialIntelligence”, filed Oct. 11, 2016, U.S. patent application Ser. No.15/290,861 (Attorney Docket No. 49986-0892) entitled “Post-MeetingProcessing Using Artificial Intelligence”, filed Oct. 11, 2016, U.S.patent application Ser. No. 15/477,240 (Attorney Docket No. 49986-0902)entitled “Electronic Meeting Intelligence”, filed Apr. 3, 2017, U.S.patent application Ser. No. 15/477,276 (Attorney Docket No. 49986-0903)entitled “Electronic Meeting Intelligence”, filed Apr. 3, 2017, U.S.patent application Ser. No. 15/728,360 (Attorney Docket No. 49986-0906)entitled “Person Detection, Person Identification and Meeting Start forInteractive Whiteboard Appliances”, filed Oct. 9, 2017, U.S. patentapplication Ser. No. 15/728,367 (Attorney Docket No. 49986-0907)entitled “Speech-to-Text Conversion for Interactive WhiteboardAppliances Using Multiple Services”, filed Oct. 9, 2017, U.S. patentapplication No. 15/728,368 (Attorney Docket No. 49986-0910) entitled“Speech-to-Text Conversion for Interactive Whiteboard Appliances inMulti-Language Electronic Meetings”, filed Oct. 9, 2017, U.S. patentapplication Ser. No. 15/728,372 (Attorney Docket No. 49986-0911)entitled “Attendance Tracking, Presentation Files, Meeting Services andAgenda Extraction for Interactive Whiteboard Appliances”, filed Oct. 9,2017, U.S. patent application Ser. No. 15/728,376 (Attorney Docket No.49986-0912) entitled “Interactive Whiteboard Appliances With LearningCapabilities”, filed Oct. 9, 2017, U.S. patent application Ser. No.15/910,878 (Attorney Docket No. 49986-0919) entitled “ConductingElectronic Meetings over Computer Networks using Interactive WhiteboardAppliances and Mobile Devices”, filed Mar. 2, 2018, U.S. patentapplication Ser. No. 16/112,361 (Attorney Docket No. 49986-0935)entitled “Electronic Meeting Intelligence”, filed Aug. 24, 2018, U.S.patent application Ser. No. ______ (Attorney Docket No. 49986-0937)entitled “Artificial Intelligence Assisted Review of PhysicalDocuments”, filed Mar. 15, 2019, U.S. patent application Ser. No. ______(Attorney Docket No. 49986-0938) entitled “Artificial IntelligenceAssisted Review of Electronic Documents”, filed Mar. 15, 2019, U.S.patent application Ser. No. ______ (Attorney Docket No. 49986-0941)entitled “Generating Document Edit Requests for Electronic DocumentsManaged by a Third Party Document Management Service using ArtificialIntelligence”, filed Mar. 15, 2019, U.S. patent application Ser. No.______ (Attorney Docket No. 49986-0943) entitled “Updating ExistingContent Suggestions to include Suggestions from Recorded Media usingArtificial Intelligence”, filed Mar. 15, 2019, U.S. patent applicationSer. No. ______ (Attorney Docket No. 49986-0944) entitled “GeneratingSuggested Document Edits from Recorded Media using ArtificialIntelligence”, filed Mar.15, 2019, the contents all of which areincorporated by reference in their entirety for all purposes as if fullyset forth herein.

FIELD OF THE INVENTION

Embodiments relate generally to processing electronic documents, andmore specifically, to computer software that analyzes suggestions andgenerates suggested edits for content within electronic documents.SUGGESTED GROUP ART UNIT: 2657; SUGGESTED CLASSIFICATION: 704.

BACKGROUND

The approaches described in this section are approaches that could bepursued, but not necessarily approaches that have been previouslyconceived or pursued. Therefore, unless otherwise indicated, theapproaches described in this section may not be prior art to the claimsin this application and are not admitted to be prior art by inclusion inthis section.

One of the most common activities in a professional and/or academicenvironment is review of information presented within a document. Forexample, in a business environment an employee may create a documentcontaining content needing review by one or more peers. A documentreview meeting may be conducted to discuss the content within thedocument and to provide feedback related to the content.

For instance, during a document review meeting participants may conveysuggested edits and comments to the document author. The documentauthor, when receiving input from the other participants, may listen andtake notes during the meeting to make sure that all feedback is notedand the feedback is applied to revising the document. Additionally, someparticipants may provide feedback on a printed version of the documentor an electronic version of the document. The result of the reviewmeeting may be a collection of comments and suggested edits in the formof captured notes, handwritten comments, and electronic comments.However, consolidating collected comments may be a challenge when tryingto ensure all comments discussed during the meeting are accuratelycaptured.

Based on the foregoing, there is a need for an approach forautomatically receiving and identifying content suggestions from meetingparticipants and incorporating such suggestions into the document.

SUMMARY

According to another embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving a physicaldocument that contains original content for review and mark-ups providedby a first user to generate an electronic marked-up document. From theelectronic marked-up document, a user code is identified, whichidentifies the first user that provided the mark-ups on the physicaldocument. A first user ID that is associated with the first user isdetermined based on the identified user code. One or more mark-ups thatrepresent content suggestions proposed by the first user are identifiedfrom the generated electronic marked-up document. For each mark-up ofthe one or more mark-ups identified, a document portion of the originalcontent of the electronic mark-up document that corresponds to themark-up is identified. An annotation is generated for the mark-upcomprising the mark-up and the first user ID and associating theannotation to the document portion identified. The original content withone or more annotations generated from the one or more mark-ups isdisplayed, in electronic form, within a display window.

According to another embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving anelectronic document that contains original content from an originalelectronic document for review and electronic mark-ups provided by afirst user. One or more electronic mark-ups that represent contentsuggestions proposed by the first user are identified from theelectronic document. For each electronic mark-up of the one or moreelectronic mark-ups identified a document portion of the originalcontent that corresponds to the electronic mark-up is identified, and anannotation is generated for the electronic mark-up comprising theelectronic mark-up and a first user ID for the first user andassociating the annotation to the document portion identified. Theoriginal content with one or more annotations generated from the one ormore electronic mark-ups is displayed, in electronic form, within adisplay window.

According to another embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving one or moremedia content items representing captured content from a discussion ofone or more electronic documents by one or more users. Portions of mediacontent corresponding to content suggestions for the one or moreelectronic documents is identified from the one or more media contentitems. For each portion of the media content of the portions of mediacontent a document portion is identified from the one or more electronicdocuments that corresponds to the portion of media content, and anannotation is generated that represents the portion of media content.The annotation is associated to a location corresponding to the documentportion within a particular electronic document of the one or moreelectronic documents. The one or more electronic documents with theircorresponding one or more generated annotations from the portions ofmedia content is displayed, in electronic form, within a display window.

According to another embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving a mediacontent item representing captured content from a discussion of anelectronic document by one or more users. Portions of media contentcorresponding to content suggestions for the electronic document areidentified from the media content item. For each portion of mediacontent of the portions of the media content, a document portion of theelectronic document that corresponds to the portion of media content isidentified, and a determination is made as to whether the documentportion of the electronic document is associated with an existingannotation. Upon determining that the document portion of the electronicdocument is associated with the existing annotation, the existingannotation is updated based on the portion of media content. Theelectronic document with one or more updated annotations associated withthe portions of media content is displayed, in electronic form, within adisplay window.

According to another embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving contentinput that represents content suggestions for content within anelectronic document managed by a third-party management system. One ormore content suggestions are identified from the content input. For eachcontent suggestion of the one or more content suggestions from thecontent input, a document portion of the electronic document thatcorresponds to the content suggestion is identified, and a documentsuggestion request for the content suggestion is generated. The documentsuggestion request comprises the content suggestion, a contentsuggestion type, an associated user ID of the user associated with thecontent suggestion, and an electronic document location based on theidentified document portion. One or more generated document suggestionrequests are sent to the third-party management system,

According to an embodiment, an apparatus comprises one or moreprocessors and one or more memories storing instructions. Processing ofthe instructions by one or more processors causes receiving one or moremedia content items representing captured content from a review meetingfor one or more electronic documents. From the one or more media contentitems, one or more discussion topics discussed during the review meetingare identified. Portions of media content corresponding to contentsuggestions for the one or more electronic documents discussed duringthe review meeting are then identified from the one or more mediacontent items. For each portion of media content of the portions ofmedia content, a discussion topic of the one or more discussion topicsis associated to the portion of media content and a document portion isidentified, from the one or more electronic documents, that correspondsto the portion of media content. The portions of media content areaggregated based upon their associated discussion topic to generatetopic sets of portions of media content. A meeting summary document isgenerated that includes a first section that includes a media contentitem player configured to play the one or more media content items and asecond section that includes a list of the one or more discussiontopics. Each discussion topic listed includes a corresponding topic setof portions of media content. The meeting summary document is presentedwithin a display window.

BRIEF DESCRIPTION OF THE DRAWINGS

In the figures of the accompanying drawings like reference numeralsrefer to similar elements.

FIG. 1 depicts an example computer architecture upon which embodimentsmay be implemented.

FIG. 2 is a flow diagram that depicts an approach for generatingannotations based on suggested changes from a marked-up document anddisplaying the document with the generated annotations.

FIG. 3A depicts an example embodiment of a printed document includingreviewing user identifiers.

FIG. 3B depicts an example embodiment of a graphical user interface thatdisplays original content of the electronic document and the identifiedmark-ups overlaid onto the original content.

FIG. 3C depicts an example embodiment of an electronic documentdisplayed with annotations representing identified mark-ups.

FIG. 4 is a flow diagram that depicts an approach for generatingannotations based on suggestions received from a marked-up electronicdocument and displaying the document with the generated annotations.

FIG. 5 depicts an example embodiment of an electronic document displayedwith annotations representing identified mark-ups.

FIG. 6 is a flow diagram that depicts an approach for generatingannotations based on suggested changes from media content items andgenerating updated electronic documents that include the correspondingsuggested changes.

FIG. 7 depicts an example embodiment of an electronic document displayedwith annotations representing identified portions of media content.

FIG. 8 depicts a flow diagram of an approach for updating existingannotations based on suggested changes from media content items andgenerating updated electronic documents that include the correspondingsuggested changes.

FIG. 9 is a flow diagram that depicts an approach for generatingannotation requests based on suggestions received from content input.

FIG. 10 is a flow diagram that depicts an approach for generating ameeting summary document based media content items of captureddiscussions during a document review meeting.

FIG. 11 depicts an example embodiment of a generated meeting summarydocument.

FIG. 12 is a block diagram of a computer system on which embodiments ofthe invention may be implemented.

DETAILED DESCRIPTION

In the following description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that the present invention may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order to avoidunnecessarily obscuring the present invention. Various aspects of theinvention are described hereinafter in the following sections:

I. OVERVIEW

II. ARCHITECTURE

-   -   A. DOCUMENT MANAGEMENT    -   B. INTELLIGENT CONTENT RECOGNITION MODEL        -   1. CONTENT RECOGNITION SERVICE        -   2. MARKUP RECOGNITION SERVICE        -   3. SPEECH RECOGNITION SERVICE        -   4. CONTENT CORRELATION SERVICE    -   C. INPUT/OUTPUT SERVICES

III. PROCEDURAL OVERVIEW

-   -   A. PROCESSING MARKED-UP PHYSICAL DOCUMENTS    -   B. PROCESSING MARKED-UP ELECTRONIC DOCUMENTS    -   C. PROCESSING MEDIA CONTENT ITEMS CONTAINING SUGGESTIONS    -   D. UPDATING ANNOTATIONS WITH ADDITIONAL SUGGESTIONS    -   E. GENERATING THIRD-PARTY ANNOTATION REQUESTS    -   F. GENERATING A MEETING SUMMARY DOCUMENT

IV. IMPLEMENTATION MECHANISMS

I. Overview

Artificial intelligence is introduced into a document review process toidentify, from various different types of sources, content suggestionsrelated to electronic documents under review. A content suggestion mayrepresent a comment or suggested edit to content within a document underreview. Content suggestions may be identified from physical notes andmarkups on a printed version of the document or from changes identifiedin an electronic version of the document. Additionally, contentsuggestions may be identified from captured audio and video recordingsof a document review meeting. Content suggestions may also be receivedin the form of screenshots or other media from meeting presentationdevices such as an Interactive Whiteboard Appliance or other mediadevices. The artificial intelligence may analyze received content input,such as physical or electronic documents and other media content, andidentify content suggestions from the received content input thatcorrespond to document portions of the document being reviewed. Theartificial intelligence may determine whether the content suggestionsare comments or suggested edits to the original content of the document.The artificial intelligence may generate appropriate annotations fromthe analyzed content suggestions and associate the annotation to alocation within the original content of the document. The document, withthe new annotations may then be presented to a user, such as thedocument author, for further review. The approaches described hereinimprove the efficiency of correlating external content suggestions tooriginal content within the document. Thus providing a more efficientmethod for receiving content suggestions and correlating the receivedsuggestions to their corresponding portions of the document.

II. Architecture

FIG. 1 depicts an example computer architecture upon which embodimentsmay be implemented. FIG. 1 includes various examples of a documentmanagement system 100 that supports receiving and integrating externalcontent input into an electronic representation of the document underreview. Document management system 100 includes a document managementservice 105, a content receiving service 110, user identificationmanagement service 115, annotation generation service 120, intelligentcontent recognition model 130, multi-function print service 140,document presentation service 150, network 160, and data repository 170.Some elements depicted in FIG. 1 may not be depicted in other figuresfor the purposes of explanation, but these elements may be included inthe elements of the other figures.

Document review meetings supported by document management system 100 mayinclude any type of electronic or in-person meeting where one or moredocuments are reviewed by one or more participants. Document managementsystem 100 may manage the content of the documents being reviewed andmay automatically apply content suggestions and edits discussed duringthe meeting to the documents under review.

In an embodiment, document management system 100 represents a network ofcomputers. A “computer” may be one or more physical computers, virtualcomputers, and/or computing devices. A computer may be a client and/or aserver. Any reference to “a computer” herein may mean one or morecomputers, unless expressly stated otherwise. Each of themodules/services described in FIG. 1 may comprise a set of one or morepages of main memory, such as RAM, in one or more computers into whichexecutable instructions have been loaded and which when executed causedocument management system 100 to perform the functions or operationsthat are described herein with reference to those modules. For example,the document management service 105 may comprise a set of pages in RAMthat contain instructions which when executed cause performingelectronic document management and storage that are described herein.The instructions may be in machine executable code in the instructionset of a CPU and may have been compiled based upon source code writtenin JAVA, C, C++, OBJECTIVE-C, or any other human-readable programminglanguage or environment, alone or in combination with scripts inJAVASCRIPT, other scripting languages and other programming source text.The term “pages” is intended to refer broadly to any region within mainmemory and the specific terminology used in a system may vary dependingon the memory architecture or processor architecture. In anotherembodiment, each component within document management system 100 alsomay represent one or more files or projects of source code that aredigitally stored in a mass storage device such as non-volatile RAM ordisk storage, within one or more computers, which when compiled orinterpreted cause generating executable instructions which when executedcause document management system 100 to perform the functions oroperations that are described herein with reference to those modules. Inother words, the drawing figure may represent the manner in whichprogrammers or software developers organize and arrange source code forlater compilation into an executable, or interpretation into bytecode orthe equivalent, for execution by document management system 100.

A. Document Management

In an embodiment, the content receiving service 110 may includeinstructions to receive content related to a document under review. Thecontent receiving service 110 may receive original content, marked-upcontent, and/or suggested changes or comments related to the documentunder review. For example, the content receiving service 110 may receivean electronic file containing the original document for review. Inanother example, the content receiving service 110 may receive anelectronic file containing both original content and mark-ups to theoriginal content. In yet another example, the content receiving service110 may receive content media items, such as audio files, video files,or image files, that contain suggested changes or comments related tothe document under review.

The content receiving service 110 may be configured to send the receivedelectronic document to the document management service 105. In anembodiment, the document management service 105 may include instructionsto identify original content for a received electronic document,identify content as markups to the original document, associate users totheir corresponding mark-ups, and otherwise manage storage andcommunication of content and content suggestions for electronicdocuments. For example, content receiving service 110 may send anelectronic document representing an original version of a document tothe document management service 105. The document management service 105may identify from the electronic file, original content that representsthe original version of the document for review. In another example, thecontent receiving service 110 may send a version of the document thatcontains marked-ups to the document management service 105. The documentmanagement service 105 may compare the content from the marked-upversion of the document to the original content of the documentpreviously received in order to identify one or more mark-ups within themarked-up version of the document.

In an embodiment, the document management service 105 may identify oneor more codes and/or marks on the marked-up version of the document thatindicate a user that made the mark-ups. For example, the marked-upversion of the document received by the content receiving service 110may have originated from a printed version of the document thatcontained a custom barcode or QR code identifying a specific user.Printed versions of the document may include custom ID codes that may beused to identify a specific user as the reviewer who made handwrittenmarks. The document management service 105 may identify the code withinthe marked-up version of the document and may send the identified codeto the user ID management service 115 to identify a specific userassociated with the code.

In an embodiment, the user ID management service 115 may includeinstructions to identify users associated with custom ID codes within amarked-up document. The data repository 170 may be configured to storeassociations between users and custom ID codes. The user ID managementservice 115 may communicate with the data repository 170 to retrieveuser-to-ID code associations in order to determine which user isassociated with a custom ID code on a received marked-up document. Forexample, the content receiving service 110 may receive a marked-updocument that contains a specific ID code. The content receiving service110 may send the document to the document management service 105. Thedocument management service 105 may identify, within the document, thespecific ID code and may send the specific ID code to the user IDmanagement service 115. The user ID management service 115 may receivethe specific ID code and may query the data repository 170 to determinea specific user associated with the specific ID code. Upon determiningthe specific user associated with the specific ID code, the user IDmanagement service 115 may send an identifier for the specific user tothe document management service 105 so that the document managementservice 105 may associate markups from the received electronic documentto the appropriate user that made the markups.

In an embodiment, the annotation generation service 120 may includeinstructions to generate one or more annotations and associate theannotations to positions within the original content of the document.For example, the document management service 105 may manage originalcontent for the document and identified markups for the document. Thedocument management service 105 may send a request to the annotationgeneration service 120. The annotation generation service 120 mayreceive the request and may generate a new annotation that contains theidentified markup and may associate the newly generated annotation to aposition within the original content corresponding to a document portionthat corresponds to the identified mark-up. In another example, theannotation generation service 120 may receive a request to update anexisting annotation to include additional markups. The annotationgeneration service 120 may identify the existing annotation and mayinsert the additional markup into the existing annotation.

In an embodiment, generating a new annotation and/or updating anexisting annotation is not limited to creating and/or updating comments.An annotation may also refer to suggested edits to content within thedocument. For example, if a mark-up indicates changing the word“impossible” to “highly unlikely” then the annotation generation service120 may receive a request to update the word “impossible” from theoriginal content to “highly unlikely.” The annotation generation service120 may generate a suggested edit annotation that represents the mark-upand may also include comments indicating the suggested edit and the userwho suggested the edit.

FIG. 3B depicts an example embodiment of a graphical user interface thatdisplays original content of the electronic document and the identifiedmark-ups overlaid onto the original content. Annotations 330A and 340Arepresent annotations that are suggested edits generated by theannotation generation service 120. Annotations 330A and 340A are basedupon mark-ups that have been interpreted as suggested edits. Annotation330A is based upon mark 330, which represents a strikethrough over theword “this.” The strikethrough may be interpreted as a suggestion todelete the word “this”. Annotation 340A is based upon mark 340, whichrepresents a hand drawn circle around the word “holigram”. The word“holigram” is a misspelling of the word “hologram” and mark 340 may beinterpreted as a suggestion to correct the spelling of “holigram”.Annotation 335A is based upon mark 335, which represents a highlightedsection of words with a line to a handwritten note that says, “do wewant to show the 22″ model?”. Mark 335 may be interpreted as a comment.

In an embodiment, generated annotations may be customized to reflect theannotation type. For example, annotation 335A may be colored in oneparticular color, such as yellow, to represent a comment annotation.Whereas, annotations 330A and 340A may be colored in another color, suchas red, to represent a suggested edit annotation. In an embodiment,annotations may include the user ID of the user associated with theannotation. Annotations may also include selectable action buttons, suchas check button 341 and reject button 342 within annotation 340A, whichmay be used to either accept or reject a suggested edit. Annotations mayalso include electronic links to content input that is related to thegenerated annotation. For example, an annotation may include anelectronic link to an audio file of captured discussions related to theannotation. The electronic link may also be a link to a screenshot, orother image of a mark-up or suggested comment or change. Electroniclinks may also refer any type of link, hyperlink, or shortcut to a file,webpage, object, or any other destination specified by the electroniclink.

In an embodiment, network 106 may represent a communication medium ormechanism that provides for the exchange of data between A and B.Example of network 160 may include, but are not limited to, a networksuch as a Local Area Network (LAN), Wide Area Network (WAN), Ethernet orthe Internet, or one or more terrestrial, satellite or wirelessnetworks. In an embodiment, data repository 170 may be configured tostore any type of data related to documents, mark-ups, annotations,associated media content items, and any other data objects associatedwith document and annotation management.

B. Intelligent Content Recognition Model

In an embodiment, the intelligent content recognition model 130 mayinclude instructions to implement one or more services configured toidentify document types and document portions for received electronicdocuments, determine content suggested from handwritten notes, determinecontent suggestions from media content items, and determine correlationsbetween content suggestions and document portions. The intelligentcontent recognition model 130 may comprise of a content recognitionservice 131, a markup recognition service 132, a speech recognitionservice 133, and a content correlation service 134.

In an embodiment, the intelligent content recognition model 130 mayinclude instructions to train and execute one or more machine learningmodels that may be used by each of the content recognition service 131,the markup recognition service 132, the speech recognition service 133,and the content correlation service 134. The intelligent contentrecognition model 130 may use various machine learning algorithms andstructures to implement the one or more machine learning models. Examplemachine learning algorithms include artificial neural networks, deepneural networks, convolution neural networks, recursive neural networks,classifiers, and other supervised or unsupervised machine learningalgorithms. The proposed methods and systems may be implemented usingany suitable machine learning algorithm or architectures.

1. Content Recognition Service

In an embodiment, the content recognition service 131 may includeinstructions configured to identify a document type for the originalelectronic document based upon portions of content within the document,formatting and style of the document, and other indicators within thecontent of the original electronic document. For example, the contentrecognition service 131 may receive, as input, an original electronicdocument that is a patent application draft. The content recognitionservice 131 may analyze the content of the original electronic document,including the title, section headings, formatting, keywords withincontent, and any other properties that may indicate the document type ofdocument the original electronic document. For instance, if the originalelectronic document is a patent application draft, then the contentrecognition service 131 may identify and analyze names of sections, suchas “Background”, “Brief Description of Drawings”, “DetailedDescription”, “Claims”, and “Abstract”, and determine that based on thesection headings that the original electronic document is a documenttype for a patent application.

In an embodiment, the content recognition service 131 may be configuredto implement a machine learning model configured to determine a documenttype of an electronic document. The machine learning model may beconfigured to receive, as input, the electronic document and generate anoutput that specifies a document type for the electronic document basedupon content that includes the title, section headings, formatting,keywords within content, and any other properties of the electronicdocument. Additionally, the machine learning model may output a datasetof context-specific properties for the determined document type. Forexample, the context-specific properties may define keywords, phrases,formatting, and any other properties related to the document type thatmay be used to help determine suggestion type and position of receivedcontent suggestion.

In an embodiment, the machine learning model may be trained to determinethe document type using a training set of data that includes a set ofdocuments that have been categorized as specific document types basedupon identified document properties that define each document type. Forexample, the training set of data may include documents and documentidentified document properties that are categorized as either patentapplication document types, contract document types, proposal documenttypes, technical specification document types, and so on.

In an embodiment, the machine learning model may be configured toidentify document portions from the original content that may be usedwhen correlating mark-ups to the original content. Document portions mayrefer to heading titles, sections, paragraphs, sentences, specifickeywords, such as product descriptions and names, and specific phrases.For example, if the document type is a technical specification document,then sections and subsections within the document may be identified asportions. Additionally, specific product keywords, such as “InteractiveAssistance Service” and “IFDP” may be identified as keyword portions.

2. Markup Recognition Service

In an embodiment, the markup recognition service 132 may includeinstructions configured to interpret handwritten notes identified from aphysical document and generate text transcriptions for the handwrittennotes. For example, the markup recognition service 132 may receive, asinput, an image of a handwritten note from a marked-up document thatsays, “can we expand on this idea”. The markup recognition service 132may analyze the image of the handwritten note, determine a meaning forthe handwritten note, and generate text representing a translation ofthe note. The markup recognition service 132 may determine, based on thetext transcription and meaning of a handwritten note, a contentsuggestion type such as a comment or a suggested edit. Using the currentexample, the note “can we expand on this idea” may be interpreted by themarkup recognition service 132 as a comment. Whereas a handwritten notethat includes a strikethrough of the word “impossible” followed by anote stating “change to ‘highly unlikely’” may be interpreted as asuggested edit.

In an embodiment, the markup recognition service 132 may be configuredto implement a machine learning model configured to translatehandwritten notes into text. The machine learning model may beconfigured to receive an image of the handwritten note as input and maygenerate a set of translated text characters as output. In anembodiment, the machine learning model may be trained to determine atext transcription of the handwritten notes using a training set of datathat includes a set of training images of handwritten notes andcorresponding text transcriptions from one or more users. For example,the set of training images may include handwritten words, letters,shorthand, and other symbols that may be used by one or more users. Inan embodiment, the machine learning model may be further configured toinput a document type into the model. The document type input may beused to enhance text transcription accuracy by specifying a documentcontext for each handwritten note. For instance, if the document type isa scientific paper related to chemistry, then the machine learning modelmay be trained to identify a handwritten note of “CO2” as a chemicalcompound and translate the note to “CO₂” or to “carbon dioxide.”

In an embodiment, the machine learning model implemented by the markuprecognition service 132 may be configured to assign a confidence scoreto text transcriptions of mark-ups. The confidence score may represent avalue that defines how accurate the machine learning model output isbased upon model training data. For example, the machine learning modelmay assign a high confidence score to the interpretation of astrikethrough of the word “this” based upon the location of the lineover the word, the angle of the line, the color of the line, and whetherthe strikethrough is associated with other marks. Conversely, if thestrikethrough of the word “this” overlapped the bottom of the word suchthat it was unclear whether mark is a strikethrough or an underline,then the machine learning model may assign a lower confidence score.

3. Speech Recognition Service

In an embodiment, the speech recognition service 133 may includeinstructions configured to translate captured speech from audio and/orvideo into translated text. For example, the speech recognition service133 may receive, as input, a portion of an audio file recorded from adocument review meeting. The speech recognition service 133 may analyzethe audio content and determine translated text that represents thespoken words in the audio content.

In an embodiment, the speech recognition service 133 may be configuredto implement a machine learning model configured to translate capturedspeech into translated text. The machine learning model may beconfigured to receive input that includes a media content itemrepresented the captured speech to be translated. The machine learningmodel may generate, as output the text transcription of the capturedspeech. In an embodiment, the machine learning model may be trainedusing a set of training data, which may include portions of speech andcorresponding text transcriptions. For example, the training data mayinclude spoken phrases by multiple different users and theircorresponding meanings. The spoken phrases within the training data mayalso include attributes such as, accent, subject matter, and identifiedbackground noises that may affect how speech is translated.

In an embodiment, the machine learning model of the speech recognitionservice 133 may be configured to identify portions of media content thatindicate content suggestions for either comments or suggested edits. Thespeech detected in the media content item may be translated from speechinto text. The text may then be analyzed for specific words or phrasesthat may indicate either suggested edits or comment for revieweddocuments. For example, statements such as “the word . . . isduplicated,” “we need more examples,” “the introduction is too short,”“the word . . . is misspelled,” and “could you update figure X,” mayindicate that a specific portion of the media content relates to asuggested edit or a comment for the document. The machine learning modelmay also identify statements that may indicate a position within adocument, such as “on the second page,” “the final paragraph,” “thesentence starting with,” and so on. The output of the machine learningmodel may include a set of portions of media content identified aspotential suggested edits for the documents reviewed.

In an embodiment, the machine learning model implemented by the speechrecognition service 133 may be configured to assign a confidence scoreto text transcriptions of the set of portions of media contentidentified. The confidence score may represent a value that defines howaccurate the machine learning model output is based upon model trainingdata. Determining the confidence score may be based on the clarity ofthe speech within the portions of media content and how well the machinelearning model is able to match translated words and phrases to thespoken speech in the portions of media content. For instance, if speechis garbled or the speaker speaks too quickly, then the machine learningmodel may assign a lower confidence score to the translated text.

4. Content Correlation Service

In an embodiment, the content correlation service 134 may includeinstructions configured to identify matches between document portions ofthe electronic document and translated text from handwritten notes,captured speech, screenshot images, and any other medium. For example,the content correlation service 134 may receive as input the originalcontent of the electronic document and a text transcription of thecontent suggestion, which may be from a handwritten markup or fromcaptured speech. The content correlation service 134 may identifydocument portions within the original content and may determine whetherone or more document portions match the text transcription of a contentsuggestion. Additionally, the content correlation service 134 mayreceive input specifying the document type, which may be used to furtherdetermine matches between the text transcription and the documentportions of the original content.

In an embodiment the content correlation service 134 may be configuredto implement a machine learning model configured to determine matchesbetween the text transcription and the document portions. Input for themachine learning model may include the original content of the document,a document type, and the text transcription that represents a contentsuggested from a handwritten note or from captured speech. The machinelearning model may output a document portion and/or a positionallocation within the original content that corresponds to the texttranscription. For instance, if the electronic document type is aresearch paper and the text transcription equals “reference 49 isincorrect”, the machine learning model may determine that the texttranscription refers a reference footnote within the electronic documentbased upon the document type and identified document portions of thedocument that includes footnotes. The machine learning model may outputa location, within the original content, corresponding to the footnote49. The machine learning model may have been trained using a pluralityof document portions of electronic documents and corresponding texttranscriptions of content suggestions from the plurality of documentportions of the electronic documents.

C. Input/Output Services

Document management system 100 may include one or more input and outputservices for receiving documents and presenting electronic documentsincluding interpreted annotations. In an embodiment, the multi-functionprint service 140 may represent one or more multi-function printerdevices configured to scan physical documents. For example, themulti-function printer service may be used to scan an original documentor a marked-up physical document. The multi-function print service 140may send the scanned document, as a data object, to the contentreceiving service 110 for processing. In another embodiment, themulti-function print service 140 may receive requests to print physicalversions of electronic documents for distribution to reviewers and otherusers.

In an embodiment, the document presentation service 150 may includeinstructions to implement a graphical user interface for presenting oneor more electronic documents, including corresponding annotations. Forexample, the document presentation service 150 may generate a graphicaluser interface that includes one or more content panes for displayingcontent from the electronic document, the one or more annotationscorresponding to the displayed content, and display option controls forfiltering annotations and other content based upon a reviewer or otheruser.

III. Procedural Overview

The following section describes embodiments for implementing documentreview, including receiving and incorporating document suggestions frommultiple different input services.

A. Processing Marked-Up Physical Documents

In an embodiment, the document management system 100 may be used toassist in document review by receiving document mark-ups in physicalpaper form, identifying content suggestions, and generating annotationsfor the content suggestions for the document being reviewed. Examplefunctionality includes, without limitation, receiving one or moremarked-up documents that include one or more mark-ups of contentsuggestions, identifying the type of content suggestion, generatingannotations for each of the content suggestions, associating thegenerated annotations to document portions of the document under review,and displaying the document within the generated annotations within adisplay window.

The document management system 100 may be configured to receive anoriginal document that contains content that has not been marked-up anddetermine original content for review. Original content may refer tocontent that is subject to review by one or more users. In anembodiment, the multi-function print service 140 may represent a scannerthat receives and scans the paper document. The multi-function printservice 140 may generate a scanned image, such as a Portable DocumentFormat (PDF) file. The multi-function print service 140 may send the PDFfile of the original document to the content receiving service 110. Thecontent receiving service 110 may send the PDF file to the documentmanagement service 105, which may analyze the PDF file and identify theoriginal content to be marked for review and the document managementservice 105 may store the original content within the data repository170.

In another embodiment, the multi-function print service 140 mayrepresent a multi-function printer within capabilities to identify theoriginal content from a scanned physical document and store the originalcontent within the data repository 170. For example, the multi-functionprint service 140 may be configured with plugin software or may utilizean application programming interface (API) to communicate within variousservices within the document management system 100. The API may includefunction calls that implement identification of original content andstorage of the original content within the data repository 170.

Upon identifying the original content from the scanned physicaldocument, the document management system 100 may generate one or morecopies of the physical document that may be distributed to one or morereviewing users. In an embodiment, the document management service 105may send a print request to generate one or more physical documents tothe multi-function print service 140. The print request may include useridentifiers for reviewing users. For example, if a document reviewmeeting is scheduled with users A-D, then print request may specifyusers A-D such that four copies of the document are to be printed andeach printed document includes an identifier identifying one of theusers A-D.

In an embodiment, the document management system 100 may determinepotential reviewers based upon names identified with the originalcontent of the document. For example, if the document is a researchpaper with multiple authors, then the document management system 100 mayidentify author names and may generate one or more copies of thephysical document that each includes an identifier for each of theauthors.

In an embodiment, the multi-function print service 140 may print thedocument with either a printed name of the reviewing user, amachine-readable code identifying the reviewing user, or both. FIG. 3Adepicts an example embodiment of a printed document including reviewinguser identifiers. Document 305 represents a physical document printed bythe multi-function print service 140. Title 310 may represent a documentreview title that indicates the purpose of the physical document. Forexample, title 310 may include the document review meeting, including atime and place for the meeting. In other examples, the title 310 mayprepend “For Review:” in front of the document title. In yet otherexamples, title 310 may be customized to display any title for reviewingusers.

Reviewer section 315 may represent a printed section that includes thename of the reviewer. For example, reviewer section 315 may display thename of the reviewing user, such as Jane Doe. Each physical copy printedmay include a different reviewer name for each reviewing user. In caseswhere additional or not yet identified users review the printeddocument, the multi-function print service 140 may print copies of thedocument with “Reviewer: ______”, where the additional user may write inhis or her name.

User code 320 may represent an optional printed code, such as a QR code,barcode, or any other machine-readable code, that may be used by thedocument management system 100 to identify the reviewing user when amarked-up copy of the document is scanned and analyzed for suggestededits and comments. For example, the multi-function print service 140may print a QR code that identifies reviewer Jane Doe. In examples wherean additional document copy is printed without an identified user, themulti-function print service 140 may print a guest user code 320 thatmay be used to flag a scanned marked-up document as being reviewed by anad-hoc reviewer. In an embodiment, if the document management system 100identifies an ad-hoc reviewer, then the document management system 100may analyze the handwritten name on the marked-up document to determinethe identity of the user. If the user identity is not determined, thenthe document management system 100 may associate any mark-ups by thereviewer as “guest reviewer” which then may be manually assigned to theappropriate reviewer. Content 325 within document 305 may represent theoriginal content to be reviewed.

The document management system 100 is not limited to printing copies ofthe document using the multi-function print service 140. In anembodiment, the document management service 105 may generate documentfiles that include each of the title 310, reviewer section 315, usercode 320, and content 325 for each respective reviewer and may send thedocument files to each reviewer for printing on a separate printingdevice.

Upon printing the physical documents and distributing the documents toeach respective reviewer, each reviewer may make suggested edits andcomments directly on the physical document. FIG. 2 is a flow diagramthat depicts an approach for generating annotations based on suggestedchanges from a marked-up document and displaying the document with thegenerated annotations. Process 200 may be performed by a single programor multiple programs. The operations of the process as shown in FIG. 2may be implemented using processor-executable instructions that arestored in computer memory. For purposes of providing a clear example,the operations of FIG. 2 are described as performed by services of thedocument management system 100. For the purposes of clarity, process 200is described in terms of a single entity.

At block 202, the document management system 100 may receive physicaldocument that contains original content for review and mark-ups providedby a first user to generate an electronic mark-up document. In anembodiment, the multi-function print service 140 may scan the physicaldocument that contains mark-ups to original content and send the scan,referred to as the electronic mark-up document, to the content receivingservice 110. The content receiving service 110 may receive theelectronic mark-up document and send the electronic mark-up document tothe document management service 105.

FIG. 3B depicts an example embodiment of a marked-up physical documentreceived by the document management system 100. In an embodiment themarked-up physical document may contain handwritten or typed mark-upssuch as, written words, strikethroughs, underlines, circled words,highlights, and any other type of physical mark. Referring to FIG. 3B,document 305 refers to the same printed document depicted in FIG. 3A,including the title 310, reviewer section 315, user code 320, andcontent 325. The mark-ups are depicted with marks 330, 335, and 340.Mark 330 represents a strikethrough over the work “this.” Mark 335represents a highlighted section of words within content 325 and a lineto handwritten notes that says, “do we want to show the 22″ model?” Mark340 represents a hand drawn circle around the word “holigram”.

Referring to FIG. 2, at block 204 the document management system 100identifies the first user that provided the mark-ups on the physicaldocument. In an embodiment, the document management service 105 mayidentify the first user by identifying user code 320 from the electronicmark-up document and may send a request to the user ID managementservice 115 to determine the user associated with the user code 320.

In another embodiment, if the physical document does not contain usercode 320 then the document management service 105 may identify the firstuser by identifying marks in the reviewer section 315 corresponding to ahandwritten name. The document management service 105 may communicatewith the markup recognition service 132 to identify the first user basedupon the handwritten name. For example, the markup recognition service132 may receive an image crop of the handwritten name from the reviewersection 315 and may analyze the image crop to determine a set ofcharacters that represents the name of the first user.

The markup recognition service 132 is not limited to identifying thefirst user based on marks corresponding to a handwritten name. Inanother embodiment, if the physical document does not contain user code320 then the document management service 105 may identify the first userby identifying a machine printed name in the reviewer section 315. Ifthe physical document contained a printed name within the reviewersection 315 or a printed name near or around the reviewer section 315,then document management service 105 may communicate with the markuprecognition service 132 to identify the first user based upon theprinted name. For example, the markup recognition service 132 mayreceive an image crop of the printed name and may implement OpticalCharacter Recognition (OCR) techniques to identify a set of charactersfrom the image crop that represents the name of the first user.

At block 206, the document management system 100 determines a first userID that is associated with the first user identified. In an embodiment,if the first user identified is based on the user code 320, then theuser ID management service 115 may determine the first user ID byquerying the data repository 170 to retrieve the associated first userID that is associated with the user code 320. The data repository 170may store associations between users, user codes, and user IDs, such asthe user code 320 and user Jane Doe. The user ID management service 115may receive from the data repository 170 the first user ID for Jane Doe.The first user ID may represent any type of user identifier such as anemployee ID, email-based ID, or any other configured identifier used toidentify users.

In another embodiment, if the first user identified is based on atranscribed handwritten name from the reviewer section 315, then themarkup recognition service 132 may access the data repository 170 todetermine whether a user's name matches the set of characterstranscribed from the handwritten name. For instance, if the set ofcharacters “Jane Doe” was identified by the markup recognition service132, then the markup recognition service 132 may query the datarepository 170 to determine whether a user matches the “Jane Doe” set ofcharacters. If a user matches “Jane Doe”, then the markup recognitionservice 132 may query the data repository 170 to retrieve the first userID that is associated with the user “Jane Doe.”

In yet another embodiment, if the first user identified is based on atranscribed handwritten name from the reviewer section 315 and themarkup recognition service 132 is unable to determine with a level ofconfidence a set of characters that make up a user's name, then thedocument management service 105 may assign a first user ID correspondingto a “guest user” or an “unidentified user”. The first user ID may alsocorrespond to the “guest user” or the “unidentified user” label if themarkup recognition service 132 is unable to find a matching user withinthe data repository 170. In an embodiment, a user may later manuallyassign a user ID to replace the “guest user” or the “unidentified user”label.

At block 208, the document management system 100 may identify one ormore mark-ups that represent content suggestions proposed by the firstuser. In an embodiment, the document management service 105 may identifymark-ups in the electronic markup document by comparing the electronicmark-up document to the original content from the original document toidentify the original content within the electronic mark-up document.Then the document management service 105 may identify the mark-ups inthe electronic markup document by identifying content that is separatefrom the original content identified. For example, referring to FIG. 3Bthe original content may be identified as the printed content withincontent 325. The document management service 105 may then identify marks330, 335, and 340 as being separate from content 325 as the one or moremark-ups. In an embodiment, the document management service 105 may beconfigured to treat additional printed content, such as title 310,reviewer section 315, and user code 320 as content that should beignored since this content is not considered mark-ups or originalcontent.

In an embodiment, the document management service 105 may use the markuprecognition service 132 to analyze each of the mark-ups identified inorder to determine meanings for the mark-ups. For example, a mark-up mayinclude handwritten comments that may be translated into text and otherlines or arrows within the mark-up may be analyzed to determine themeaning of the mark-up in reference to their position on the document.For example, mark-ups may be identified as lines that cross outduplicate words, add punctuation, correct misspellings, insert words,and other notes. In an embodiment, the markup recognition service 132may implement a machine learning model configured to translatehandwritten notes into text and determine a meaning for the translatedtext. The machine learning model may receive, as input, an image of thehandwritten mark-up and may generate output comprising a texttranscription of the handwritten mark-up. For mark-ups that includelines, arrows, circles, or any other non-text writing, the machinelearning model may output translated text that describes the mark-up anda determination of whether the mark-up is a comment or a suggested edit.For instance, if the mark-up is a strikethrough of a word, then theoutput may be text indicating that the strikethrough word is to bedeleted and that the mark-ups is a suggested edit. Referring to FIG. 3B,mark 330, which is a strikethrough over the word “this” may betranslated into text stating “delete ‘this’?”.

In an embodiment, the markup recognition service 132 may be configuredto determine a suggestion type for the mark-up analyzed. Suggestiontypes may include, but are not limited to, comments and suggested edits.Suggested edits may refer to handwritten notes or marks that indicate asuggestion to change text within the original content. For example, if aword has a strikethrough mark over the word, then the strikethrough markmay be interpreted as a suggested edit to delete the word. Otherexamples may include marks plus handwritten text. For instance, the word“car” may be circled and may have handwritten text next to the circlethat says, “change to automobile.” The handwritten text of “change toautomobile” along with the circle around the word “car” may beinterpreted as a suggested edit to change the word car to the wordautomobile.

A comment may refer to a note, question, or other commentary related toone or more words or phrases within the original content. For example, asentence within the original content may be underlined or circled andmay include a handwritten note that says, “Should we expand upon this?”This handwritten note may be determined to be a comment because it doesnot convey a clear suggested edit. Conversely, if the handwritten notesaid “please remove” next to the underlined/circled sentence, then themarkup recognition service 132 may determine that the “please remove”note is a suggested edit to delete the underlined/circled sentence.

In an embodiment, the markup recognition service 132 may send output tothe document management service 105. The output may include a dataobject that contains translated text of the handwritten mark-up, adetermined mark-up type such as a suggested edit or a comment, an imageof the mark-up, a confidence score that describes an assigned level ofconfidence for the translated text. For example, the data objectrepresenting a mark-up for an underlined sentence that includes the note“please remove” may include translated text stating the phrase “pleaseremove,” a mark-up type assigned as a suggested edit, an image crop ofthe underlined sentence and the handwritten note, and a confidence scoreassociated with the translated text.

At decision diamond 210, the document management system 100 maydetermine whether there are remaining mark-ups to analyze. In anembodiment, the document management service 105 may be configured toiteratively analyze each of the identified mark-ups. For example, marks330, 335, and 340 were identified and the document management service105 may iteratively analyze each mark-up to determine a portion of theelectronic document that corresponds to the mark-up. In an embodiment,if the document management service 105 determines that there areremaining mark-ups to analyze, then the document management service 105may proceed to block 212.

At block 212, the document management system 100 identifies a documentportion, from the original content that corresponds to a particularmark-up. In an embodiment, the document management system 100 mayimplement one or more machine learning models to identify a documenttype for the original content, identify specific document portionswithin the original content that correspond to sections, phrases,specific keywords, and any other content specific portion, and determinea correlation between the particular mark-up and a specific documentportion of the original content.

In an embodiment, the content recognition service 131 may analyze theoriginal content from the document to determine a document type.Different document types may each have specific terms, phrases,formatting that may be used to help determine how a particular mark-upis interpreted and correlates with a portion of the document. Forexample, if the original content is a patent application document typethen a suggested edit that includes phrases such as “move limitation toa dependent” may be interpreted as a suggestion to move a claimlimitation or phrase highlighted by the suggested edit from theindependent claim into a new dependent claim. In an embodiment, thecontent recognition service 131 may implement machine learning modelconfigured to determine a document type of an electronic document andspecific document portions that make up the original content of theelectronic document. The machine learning model may receive, as input,the original content from the electronic document and may output adocument type for the electronic document and document portionsidentified from the original content.

Determining the document type may increase accuracy of determiningcorrelations between mark-ups and portions of content, thereby improvingthe quality of automatically generating annotations. In an embodiment,the document management service 105 may be configured to save the outputof the content recognition service 131, which includes the document typeand document portions from the original content, within memory so thatthe determination of the document type and document portions may beperformed once. Subsequent analysis of the original content and themark-ups may refer to the stored data of the document type and documentportions corresponding to the current document.

Additionally, upon determining the document type, the documentmanagement service 105 may retrieve document type attributes from thedata repository 170. Document type attributes may comprise propertyvalues, such as stored keywords, phrases, formatting, and any otherproperties associated with the specific document type. For example, ifthe document type is a technical specification for Ricoh specificproducts, then the property values for the document type may includeproduct acronyms, technical specification formatting, and productspecific phrases determine from other technical specification documentsused to train the machine learning model.

Upon determining the document portions within the original content, thedocument management service 105 may determine a correlation between theparticular mark-up and a document portion. In an embodiment, the contentcorrelation service 134 may identify a match between the particularmark-up and a document portion of the original content. The contentcorrelation service 134 may use a machine learning model configured todetermine matches between the text transcription of the particularmark-up and the document portions. For example, mark 335 in FIG. 3B mayhave been interpreted as “do we want to show the 22″ model?” and may becorrelated to the portion of content identified as “22′-84′ IFDPs”. Thecorrelation may be based upon the highlighted portion of the mark-up andthe translated text that specifies model 22″ which is identified in adocument portion that specifies model 22.

Upon correlating the particular mark-up to a document portion, thedocument management service 105 may generate an annotation for theparticular mark-up. Referring to FIG. 2, at block 214 the documentmanagement system 100 may generate an annotation for the particularmark-up that comprises the text transcription of the mark-up and thefirst user ID and associate the annotation to the document portionidentified. The annotation may be represented as a visible comment, suchas a comment bubble containing the text transcription, or a suggestededit that may be represented as a tracked change. For example, if themark-up type is determined to be a comment, then the annotation may berepresented as a visible comment. If however, the mark-up is a suggestededit, then the annotation may be represented as either a tracked changeor a suggested edit within a comment bubble based on the confidencescore determined by the markup recognition service 132.

FIG. 3C depicts an example embodiment of an electronic documentdisplayed with annotations representing identified mark-ups. Annotation335A may represent a generated annotation for mark 335. Annotation 335Acontains the translated text for the particular mark-up and an ID forthe first user. In another example, annotation 330A may represent agenerated annotation for mark 330. Annotation 330A may contain textstating that mark 330 represents a suggested edit to delete theduplicate word “this”. If mark 330 has a high confidence score, thenannotation 330A may be colored differently to indicate that theannotation 330A represents an edit that has already been applied. Ifhowever, mark 330 has a lower confidence score, then annotation 330A maybe displayed as a pending change that requires user approval. In anembodiment, a confidence threshold value may be used to determinewhether to apply a change associated with a suggested edit to thecontent. For example, if the confidence scores are based on a 100-pointvalue scale, then the confidence threshold value may be set to 85 whereconfidence values above 85 are automatically applied and confidencevalues below 85 are not automatically applied but are displayed withaccept or reject buttons within the annotation.

In an embodiment, the content correlation service 134 may be furtherconfigured to identify whether translated text of the particular mark-upcontains an actionable instruction. An actionable instruction may be anytype of command for external content that may be automated by thedocument management service 105. For example, the translated text maycontain a command to “insert a picture of printer model 92XX.” Thecontent correlation service 134 may identify this command as a commandto retrieve a file, link, or other object. The content correlationservice 134 may send a request to execute the command to the documentmanagement service 105. The document management service 105 may receiveand execute the command. For example, if the command was based on thetranslated text “insert a picture of printer model 92XX,” then thedocument management service 105 may retrieve an image of the 92XXprinter either from an internal repository of images or from publiclyavailable images. In another example, the document management service105 may retrieve a link to image search results for the 92XX printerfrom a publicly available search engine.

The document management service 105 may send the result of the executedcommand, which may be an image or a link to a page of search results, tothe annotation generation service 120. The annotation generation service120 may be configured to receive the result of the executed command andinsert the result into the generated annotation for the particularmark-up. For instance, if the result is an internal or external image,the annotation generation service 120 may insert a link to the internalor external image. If the result is a link to image search results thenthe annotation generation service 120 may insert the search result linkinto the generated annotation for the particular mark-up.

In an embodiment, upon generating the annotation for the particularmark-up, the document management system 100 may store the associationbetween the generated annotation and the identified document portionwithin the data repository 170.

Upon generating the annotation, the document management system 100 mayproceed to decision diamond 210 to determine whether there areadditional mark-ups that need to be analyzed. If there are additionalmark-ups to be analyzed, the document management system 100 may repeatblocks 212 and 214 to generate annotations for each of the mark-ups. Ifat decision diamond 210 there are no additional mark-ups to be analyzed,the document management system 100 may proceed to block 216.

In an embodiment, the document management system 100 may repeat blocks202-214 for each physical document received from a user that containsmark-ups. For example, if a second user, named John Smith, also provideda physical document that contains mark-ups, then the document managementsystem 100 may receive and scan the marked-up document from John Smith,identify a user code for John Smith from the physical document, identifyone or more mark-ups made by John Smith, and generate one or moreannotations associated with mark-ups provided by John Smith.

At block 216, the document management system 100 may display, inelectronic form within a display window, the original content with theone or more generated annotations. In an embodiment, the documentmanagement service 105 may communicate with the document presentationservice 150 to generate a graphical user interface for displaying theoriginal content with the one or more generated annotations within thedisplay window on a client computing device. The graphical userinterface may include, but is not limited to, displaying the originalcontent of the document, the generated annotations, and the mark-upsassociated with the annotations overlaid onto the display of theoriginal content.

FIG. 3C represents an example embodiment of a graphical user interfaceused to display the original content of the electronic document, theidentified mark-ups overlaid onto the original content, and thegenerated annotations. Document window 350 may represent a displayelement configured to display the original content of the electronicdocument, overlaid mark-ups, and other revisions related to the mark-upsand/or other suggested edits. Reviewer drop-down list 360 may representa drop-down list of available reviewers that provided suggested editsfor the electronic document. If a particular reviewer, such as Jane Doe,is selected from the reviewer drop-down list 360, then the graphicaluser interface may display mark-ups and annotations associated withreviewer Jane Doe. In an embodiment, the reviewer drop-down list 360 mayinclude an “all reviewers” selection which, when selected, may displaymark-ups and annotations from each reviewer that provided suggestededits. When displaying annotations from multiple reviewers, the documentpresentation service 150 may configure the graphical user interface tocolor code each annotation and associated mark-up based upon eachreviewer. For example, if the all reviewers selection displays suggestededits from Jane Doe and John Smith, then the graphical user interfacedisplayed may highlight mark-ups and annotations associated with JaneDoe in red and mark-ups and annotations associated with John Smith ingreen.

In an embodiment, annotations that represent edits suggested by areviewer may include control buttons to either apply or reject thesuggested edit. For example, annotation 330A includes a check button 331which, when selected, applies the suggested edit of deleting theduplicate word “this” from the electronic document. In another example,annotation 340A includes a check button 341, for applying the suggestededit, and a reject button 342, for rejecting the suggested edit.Selecting check button 341 would cause the document management service105 to change the spelling of “holigram” to the correct spelling of“hologram”. Selecting reject button 342 would cause the documentmanagement service 105 to not apply the suggested edit and keep theoriginal spelling of “holigram” in the electronic document.

A user viewing the graphical user interface may accept or rejectsuggested edits from reviewers by either accepting or rejecting each ofthe displayed annotations. In an embodiment, the document managementservice 105 may save the applied changes to the electronic document as anew version of the electronic document within the data repository 170.New versions of the electronic document may include one or more changes.For example, a new version of the electronic document may include allchanges accepted and/or rejected during a single review session of thegraphical user interface by the user. In another example, each savedversion of the electronic document may include a single accepted change.In another embodiment, the document management service 105 may beconfigured to save each accepted or rejected annotation as a series oftransactions that may be selectively applied to the electronic documentin order to generate specific versions of the electronic document thatcontain specific changes.

B. Processing Marked-Up Electronic Documents

In an embodiment, the document management system 100 may be used togather and consolidate document mark-ups from different electronicdocuments. The document management system 100 may identify contentsuggestions and generate annotations for content within the electronicdocument reviewed. For example, a document may be reviewed by multipleusers using multiple different document editing programs, such asMicrosoft Word for Windows, Microsoft Word for Mac, Open Office, GoogleDocs, PDF documents with comments, and any other document editingprogram. Each of the document editing programs may manage comments andedits differently such that viewing, within a single display, contentsuggestions from different editing programs may be challenging.

The document management system 100 may receive and manage originalcontent from an original electronic document that has not been edited ormarked-up. The document management system 100 may be configured toreceive and manage subsequent electronic documents received that containthe original content as well as mark-ups to the original content. FIG. 4is a flow diagram that depicts an approach for generating annotationsbased on suggestions received from a marked-up electronic document anddisplaying the document with the generated annotations. Process 400 maybe performed by a single program or multiple programs. The operations ofthe process as shown in FIG. 4 may be implemented usingprocessor-executable instructions that are stored in computer memory.For purposes of providing a clear example, the operations of FIG. 4 aredescribed as performed by services of the document management system100. For the purposes of clarity, process 400 is described in terms of asingle entity.

At block 402, the document management system 100 may receive anelectronic mark-up document contains the original content for review andelectronic mark-ups provided by a first user. In an embodiment, thecontent receiving service 110 may receive the electronic mark-updocument from a reviewer such as the first user. The electronic mark-updocument may be received from a direct upload to a specified website,from an email that was sent to a specific email account associated withthe document management system 100, or from a network locationassociated with a network storage service, such as Box, Google Drive,Drop Box, or any other network storage service.

In an embodiment, the document management service 105 may associate aspecific user to the received electronic mark-up document by identifyinga specific identifier associated with the specific user. A specificidentifier may represent the user's email address if the electronicmark-up document was emailed to the document management system 100. Inanother example, the specific user may edit an electronic document thathas a specific filename associated with the specific user. For instance,user Jane Doe may edit and send the electronic mark-up document name“document1_userJaneDoe.doc”. In yet another example, electronicdocuments sent to reviewing users may include embedded user codes withinthe document metadata or within the document's file structure. Theembedded user codes may then be extracted by the document managementservice 105 to identify the reviewing user.

At block 404, the document management system 100 may identify one ormore mark-ups that represent content suggestions proposed by the firstuser. In an embodiment, the document management service 105 may identifymark-ups in the electronic markup document by first identifying theoriginal content within the electronic mark-up document by comparing theelectronic mark-up document to the original content from the originalelectronic document. The the document management service 105 mayidentify the mark-ups in the electronic markup document by identifyingcontent that is separate from the original content identified.

In an embodiment, the document management service 105 may use the markuprecognition service 132 to analyze each of the mark-ups identified inorder to determine meanings for the mark-ups. The markup recognitionservice 132 may be configured to identify objects within the variouselectronic document formats that represent inserted comments and trackedchanges. For example, a Microsoft Word formatted electronic mark-updocument may contain a data objects that represents a comment and a dataobject that represents edited text as a tracked change.

In an embodiment, the markup recognition service 132 may be configuredto identify inline text changes that may contain comments or edits.In-line text changes may represent edits that are not specified within adata object that represents a comment or a tracked change. For example,the first user may have inserted in-line comments that have beenformatted to include open brackets before the comment and closedbrackets after the comment. The markup recognition service 132 mayimplement a machine learning model trained to recognize in-line commentsbased upon special characters used to mark the comments. In anotherembodiment, the markup recognition service 132 may be configured toidentify unmarked edits by comparing the content from the electronicmark-up document to the content of the original electronic document.Content that has been changed, such as added text or deleted text may bemarked as a content suggestion.

At decision diamond 406, the document management system 100 maydetermine whether there are remaining mark-ups to analyze for generatingannotations. In an embodiment, the document management service 105 maybe configured to iteratively analyze each of the identified mark-ups. Ifthe document management service 105 determines that there are remainingmark-ups to analyze, then the document management service 105 mayproceed to block 408. If however, there are no remaining mark-ups toanalyze then the document management service 105 may proceed to block412.

At block 408, the document management system 100 identifies a documentportion, from the original electronic document, that corresponds to aparticular mark-up. In an embodiment, the document management system 100may implement one or more machine learning models to identify a documenttype for the original electronic document, identify specific documentportions within the original electronic document that correspond tosections, phrases, specific keywords, and any other content specificportion, and determine a correlation between the particular mark-up anda specific document portion of the original electronic document.

In an embodiment, the content recognition service 131 may analyze theoriginal electronic document from the document to determine a documenttype. Document types may have specific terms, phrases, formatting thatmay be used to help determine how a particular mark-up is interpretedand correlates with a portion of the document. In an embodiment, thecontent recognition service 131 may implement machine learning modelconfigured to determine a document type of an electronic document andspecific document portions of the original electronic document. Themachine learning model may receive, as input, the original content fromthe original electronic document and may output a document type for theelectronic document and the identified document portions from theoriginal content.

Upon determining the document portions within the original electronicdocument, the document management system 100 may determine a correlationbetween the particular mark-up and a document portion. In an embodiment,the content correlation service 134 may identify a match between theelectronic mark-up and a document portion of the original electronicdocument.

At block 410, the document management system 100 may generate anannotation for the particular mark-up that comprises the mark-up and thefirst user ID for the user who generated the mark-up. The annotation maybe represented as a visible comment, such as a comment bubble containingthe text transcription of the mark-up, or a suggested edit that may berepresented as a tracked change with a change bubble describing thesuggested change. For example, if the mark-up type is determined to be acomment, then the annotation may be represented as a visible comment. Ifhowever, the mark-up is a suggested edit, then the annotation may berepresented as a tracked change and/or a suggested edit within a commentbubble based on the confidence score determined by the markuprecognition service 132.

FIG. 5 depicts an example embodiment of an electronic document displayedwith annotations representing identified mark-ups. Document 505 mayrepresent an electronic document reviewed during the document reviewmeeting. Annotation 510 may represent a comment type annotation thatcorresponds to the document portion corresponding to an image withindocument 505. Annotation 510 may include text stating “Change thepicture to the alternative” and may include a link to the alternativepicture that was provided within the electronic comment from theelectronic mark-up document. Annotation 510 displays the first user IDas “Jane Doe.”

Upon generating the annotation, the document management system 100 mayproceed back to decision diamond 406. At decision diamond 406, thedocument management system 100 may determine whether there are remainingmark-ups to analyze to generate annotations. If there are remainingmark-ups to analyze, then the document management system 100 may proceedto blocks 408 and 410 to identify the document portion that correspondsto the current mark-up and generate an annotation for the currentmark-up.

In an embodiment, blocks 402-410 may be repeated for each electronicdocument received by the content receiving service 110. For example,after a document review meeting, multiple reviewers may submit theirsuggested mark-ups, in electronic document form, to the contentreceiving service 110. The document management service 105 may manageeach of the received electronic documents by iteratively processing eachof the electronic documents as they are received.

If at decision diamond 406, all of the identified mark-ups have beenanalyzed, then the document management system 100 may proceed to block412 to display, in electronic form within the display window, theoriginal electronic document with the generated annotations. In anembodiment, the document management service 105 may communicate with thedocument presentation service 150 to generate a graphical user interfacefor displaying the original content with the one or more generatedannotations within the display window on a client computing device. Thegraphical user interface may include, but is not limited to, displayingthe original content of the electronic document, the generatedannotations associated with document portions for the specific documentdisplayed, and applied suggested edits associated with the annotationsoverlaid onto the display of the original content of the specificdocument. In an embodiment, the document management service 105 maystore a copy of each of the one or more documents reviewed within thedata repository 170.

C. Processing Media Content Items Containing Suggestions

Many professional and academic institutions may conduct document reviewmeetings to discuss and suggest changes to one or more documents. Adocument review meeting may include formal meetings between reviewers,ad hoc meetings between reviewers, telephonic and video conferencesbetween reviewers. For example, if reviewer Jane Doe initiated a phonecall with John Smith to discuss document A, then the phone call may beconsidered a document review meeting. During a document review meeting,reviewers may orally discuss changes or suggestions for changes todocuments. Reviewers may also make notes on whiteboards, chalkboards,interactive projectors, and other interactive devices. Documentsuggestions, whether made orally or written on a whiteboard or otherdevice may be preserved by capturing the suggestions as a media contentitem. Media content items may refer to various different types of mediacontent including, but not limited to recorded audio of a documentreview meeting, recorded video of a document review meeting, photographsof notes from a document review meeting, and captured screenshots from aprojector, an Interactive Whiteboard Appliance (IWB), or any other mediadevice.

An IWB may be configured to capture user input on the IWB display in theform of a series of stylus pen inputs. For example, when a stylus pen isused to generate marks on the IWB display, the IWB may generate a seriesof data objects, where each object includes a timestamp and (x, y)coordinates corresponding to a position on the IWB display where the IWBdetected the stylus pen. The series of data objects may correspond tothe path of the stylus pen stroke. In another example, the path of thestylus pen stroke may be represented by Bezier curve points. A Beziercurve refers to a parametric curve used in computer graphics to model apath. In an embodiment, the series of data objects corresponding togenerated marks may be packaged into a media content item that may alsoinclude a screenshot of the IWB display along with coordinates for thescreenshot. For example, a media content item representing capturedcontent from an IWB may include a screenshot of the IWB display withcorresponding coordinates for pixels within the screenshot and a seriesof data objects corresponding to generated marks from an input device,such as a stylus pen.

In an embodiment, the document management system 100 may be used toassist in capturing suggestions in document review meeting by receivingmedia content items that contain content suggestions for one or moredocuments under review. For example, a document review meeting may berecorded, either using an audio recorder or a video recorder. Therecording may represent a media content item for the review meeting,which may be received by the document management system 100. Thedocument management system 100 may then analyze the received mediacontent item and determine one or more content suggestions for adocument under review. The one or more content suggestions may be usedto generate annotations and associate the generated annotations todocument portions within the document under review.

FIG. 6 is a flow diagram that depicts an approach for generatingannotations based on suggested changes from media content items andgenerating updated electronic documents that include the correspondingsuggested changes. Process 600 may be performed by a single program ormultiple programs. The operations of the process as shown in FIG. 6 maybe implemented using processor-executable instructions that are storedin computer memory. For purposes of providing a clear example, theoperations of FIG. 6 are described as performed by services of thedocument management system 100. For the purposes of clarity, process 600is described in terms of a single entity.

At block 602, the document management system 100 may receive one or moremedia content items representing captured content from a discussion ofone or more electronic documents by one or more users. In an embodiment,the content receiving service 110 may receive media content items thatinclude captured content from a document review meeting of one or moredocuments. For example, media content items may include recorded audio,video, and captured screenshots from the document review meeting.Captured screenshots may represent digital images captured by a digitalcamera or digital images files such as Portable Document Files (PDFs),Portable Network Graphics (PNG) files, JPEG files, or any other filethat may contain an image of notes or mark-ups made during a documentreview meeting. For instance, reviewers may use an IWB appliance to makenotes and other document mark-ups to a displayed document within the IWBdisplay screen. The IWB may generate a PDF copy of the document underreview including drawn notes made with a stylus onto the IWB. At the endof the meeting, the IWB may upload a generated PDF file to the contentreceiving service 110.

At block 604, the document management system 100 may identify, from theone or more media content items, portions of media content that refer tothe document portions within the one or more documents. Portions ofmedia content may refer to a subset of a media content item, such as anaudio clip, video clip, a crop of an image, or any other subset of amedia content item. In an embodiment, the document management system 100may use the speech recognition service 133 to analyze each of the mediacontent items to identify a portion of media content that refers to adocument portion within the reviewed documents. For example, the speechrecognition service 133 may identify audio clips of users talking aboutedits to specific words, phrases, sections of a reviewed document.

In an embodiment, the speech recognition service 133 may implement amachine learning model configured to identify portions of media contentthat indicate content suggestions for either comments or suggestededits. The machine learning model may receive as input a media contentitem that contains audio. The machine learning model may analyze speechdetected in the media content item and translate the speech into text.The text may then be analyzed for specific words or phrases that mayindicate suggested edits to the reviewed documents. For example,statements such as “the word . . . is duplicated,” “we need moreexamples,” “the introduction is too short,” “the word . . . ismisspelled,” and “could you update figure X,” may indicate that aspecific portion of the media content relates to a suggestion or editfor a document. The machine learning model may then assign a contentsuggestion type, such as a comment or a suggested edit, based on thetranslated text of the speech. The machine learning model may alsoidentify statements that may indicate a position within a document, suchas “on the second page,” “the final paragraph,” “the sentence startingwith,” and so on. The output of the machine learning model may include aset of portions of media content identified as potential suggested editsfor the documents reviewed.

In an embodiment, the machine learning model may also be configured toanalyze the speech to determine the identity of a speaker. The machinelearning model may be trained using speech clips of employees todetermine the identity of the speaker. For example, the machine learningmodel may analyze frequency, pitch, and other audio qualities of thespeech to determine if the audio clip of speech matches audio qualitiesfor known employees or other participants.

In an embodiment, if the received media content items include mediacontent that is a video, screenshot, or an image file that contains animage of mark-ups, then the document management system 100 may use themarkup recognition service 132 to identify marks that correspond to asuggested edit. The markup recognition service 132 may analyze marks,such as handwritten marks, in order to determine a meaning of the mark.As described, the markup recognition service 132 may implemented amachine learning model to determine marks, and the meaning of the marksfrom the media content items. In the example of a video, the documentmanagement system 100 may use both the markup recognition service 132and the speech recognition service 133 to identify suggested edits frommarks captured by video and portions of media content captured by theaudio of the video.

Referring to FIG. 6, at decision diamond 606 the document managementsystem 100 may determine whether there are portions of media content tobe analyzed. If there are portions of media content that are to beanalyzed to generate an annotation, then the document management system100 may select a portion of media content from the portions of mediacontent and proceed to block 608. If however, there are no additionalportions of media content to be analyzed, then the document managementsystem 100 may proceed to block 612 to generate one or more updatedelectronic documents that include the generated annotations.

At block 608, the document management system 100 may identify a documentportion, from the document portions of the one or more electronicdocuments, that corresponds to the portion of media content. In anembodiment, the document management system 100 may implement one or moremachine learning models to identify document types for each of the oneor more documents, identify specific document portions within the one ormore documents that correspond to sections, phrases, specific keywords,and any other content-specific portion, and determine a correlationbetween the portion of media content and a document portion.

In an embodiment, the document management service 105 may determinewhich documents were under review based on document file names selectedby a user, such as the document review meeting coordinator, or byanalyzing the received media content items to identify the filenames ofthe reviewed documents. In an embodiment, the content recognitionservice 131 may analyze content of the one or more documents reviewed todetermine document types and document portions for each revieweddocument. The content recognition service 131 may implement a machinelearning model configured to determine document types of each documentusing the contents of the documents as input. The machine learning modelmay be configured to identify document portions from a document that maycorrelate to content suggestions from media content items to locationswithin the document.

In an embodiment, the document management service 105 may send theportion of media content and the document portions identified from theone or more electronic documents to the content correlation service 134in order to determine a correlation between a document portion and theportion of media content. The portion of media content sent to thecontent correlation service 134 may be in the form of a data object thatincludes translated text from the speech recognition service 133 and theportion of media content in its original form. The document portions mayinclude additional property data, such as metadata, that describes theelectronic document associated with each document portion, the documenttype associated with the electronic document, and any other documentspecific information that may be used to assist in finding a matchbetween the portion of media content and the document portions.

In an embodiment, the content correlation service 134 may use a machinelearning model configured to determine matches between the translatedtext and the document portions. For example, if the translated text ofthe portion of media content includes “Please reword the first sentenceof the abstract,” then the machine learning model may determine whetherthere is a matching document portion that corresponds to a firstsentence of an abstract section of an electronic document. The machinelearning model may identify keywords within the portion of mediacontent, such as “abstract,” and determine that the abstract keywordrefers to a section within a patent application document type. Themachine learning model may then use the abstract keyword to filterdocument portions based on matching document type. Additionally, ifmultiple document types have abstract sections, then the machinelearning model may analyze each document portion that is associated witha matching document type. The content correlation service 134 may sendto the document management service 105 a reference to the portion ofmedia content and a matching document portion. The correspondingdocument portion may be a reference to the document portion and/or apositional location within the electronic document corresponding to thematching document portion.

At block 610, the document management system 100 may generate anannotation that represents the portion of media content and associatethe annotation to the document portion that corresponds to the portionof media content. In an embodiment, the annotation generation service120 may generate an annotation for the portion of media content thatincludes any of the following: the text transcription of the portion ofmedia content, a confidence score that is associated with the texttranscription, an annotation type specifying the whether the annotationis a comment or a suggested edit, and a link to the portion of mediacontent. The annotation type may be based upon the suggestion typedetermined for the portion of media content. For example, if thesuggestion type is a comment, then the generated annotation may be acomment bubble. If however, the suggestion type is a suggested edit,then the annotation may be displayed as suggested edit.

FIG. 7 depicts an example embodiment of an electronic document displayedwith annotations representing identified portions of media content.Document 705 may represent a document reviewed during the documentreview meeting. Annotation 710 may represent a comment type annotationthat corresponds to the document portion “AI Ricoh InteractiveAssistance Service” within document 705. Annotation 710 may include thetext transcription of “Check with marketing if RAIS should bedemonstrated this year” and a link to the media content item thatcontains the portion of media content referring to the texttranscription. In an embodiment, the link to the media content item,when selected by a user, may cause initiation of a media player programthat is queued to the location of the portion of media content. Forexample, of a user selected the link in annotation 710, a media playerprogram may open and may be queued to the portion of media content.

Annotation 715 represents a suggested edit annotation for replacing theword “exciting” with the word “amazing.” The text transcription maydisplay “Replace: “exciting” with “amazing.” If the associatedconfidence score is above a specific confidence score threshold, thenthe suggested edit for annotation 715 may be applied to the documentportion within document 705, as depicted in FIG. 7.

In an embodiment, the annotation generation service 120 may update anannotation with meeting specific information that may be used toidentify when the suggestion was made and/or discussed. For instance,the annotation generation service 120 may update the annotation toinclude document review meeting details, such as meeting name, meetingdate and time, meeting place, and meeting attendees. Each of the meetingproperties may be used to filter annotations that may be displayedwithin the graphical display of the document.

In an embodiment, the speech recognition service 133, when analyzingmedia content items, may associate a specific user to an identifiedportion of media content if the user's voice is identified by the speechrecognition service 133. User identification may be based on historicaland/or training media content items used to train the machine learningmodel within the speech recognition service 133. If the speechrecognition service 133 associates a particular user to speech in aportion of media content, then the annotation generation service 120 mayupdate a generated annotation to include the user ID of the user isidentified as the speaker. If however, a user is not identified, thenthe annotation generation service 120 may update the generatedannotation to include a global user ID, company ID, or department ID forthe specific company and/or department that conducted the documentreview meeting.

In an embodiment, a user, such as the document owner or a documentreviewer, when reviewing the annotations may update annotationproperties to assign a user ID to an annotation that is based on aportion of media content. For example, user Jane Doe may updateannotation 710 to assign the user ID for James Smith to annotation 710if James Smith is the user who made the suggestion during the meeting.In another embodiment, if multiple users were engaged in the discussionrelated to annotation 710, then user Jane Doe may update annotation 710to include each of the users involved in the discussion.

Upon generating the annotation, the document management system 100 mayproceed to decision diamond 606 to determine whether there areadditional portions of media content that need to be analyzed. If thereare additional portions of media content to be analyzed, the documentmanagement system 100 may repeat blocks 608 and 610 to generateannotations for each of the portions of media content. If at decisiondiamond 606 there are no additional portions of media content to beanalyzed, the document management system 100 may proceed to block 612.

At block 612, the document management system 100 may display, inelectronic form within a display window, the one or more documents withthe generated annotations. In an embodiment, the document managementservice 105 may communicate with the document presentation service 150to generate a graphical user interface for displaying the originalcontent with the one or more generated annotations within the displaywindow on a client computing device. The graphical user interface mayinclude, but is not limited to, displaying the original content of adocument, the generated annotations associated with document portionsfor the specific document displayed, and applied suggested editsassociated with the annotations overlaid onto the display of theoriginal content of the specific document.

In an embodiment, the document management service 105 may store a copyof each of the one or more documents reviewed within the data repository170. Stored copies of the documents may include each of the generatedannotations associated with each corresponding document.

D. Updating Annotations with Additional Suggestions

In an embodiment, the document management system 100 may receivesuggestions from media content items, electronic documents, and physicaldocuments that contain mark-ups that refer to document portions of theoriginal content that already have existing annotations. For example, aparticular document portion may represent the first sentence of anintroduction section and the document management system 100 may havepreviously associated an annotation containing a comment to theparticular document portion. The document management system 100 may thenreceive a media content item that contains another suggested comment forthe same document portion referencing the first sentence in theintroduction section. The document management system 100 may determinewhether the comment from the media content item is related to theexisting annotation and if so, the document management system 100 mayupdate the annotation to include the comment from the media contentitem.

As described with FIG. 4, the document management system 100 may receivegenerate annotations based on suggestions received from one or moremarked-up electronic documents. The document management system 100 mayanalyze the one or more marked-up electronic documents and generateannotations for each of the suggested mark-ups in the one or moremarked-up electronic documents. The document management system 100 maystore the generated annotations, as part of an updated electronicdocument, in the data repository 170. In an embodiment, the generatedannotations may also be stored as separate annotation objects within thedata repository 170.

FIG. 8 depicts a flow diagram of an approach for updating existingannotations based on suggested changes from media content items andgenerating updated electronic documents that include the correspondingsuggested changes. Process 800 may be performed by a single program ormultiple programs. The operations of the process as shown in FIG. 8 maybe implemented using processor-executable instructions that are storedin computer memory. For purposes of providing a clear example, theoperations of FIG. 8 are described as performed by services of thedocument management system 100. For the purposes of clarity, process 800is described in terms of a single entity.

At block 802, the document management system 100 may receive a mediacontent item representing captured content from a discussion of anelectronic document by one or more users. In an embodiment, the contentreceiving service 110 may receive the media content item representingrecordings of a document review meeting of the electronic document.Examples of the media content item include recorded audio, video, andcaptured screenshots from the document review meeting. The contentreceiving service 110 may receive the media content item from a directupload to a specified web site, from an email that was sent to aspecific email account associated with the document management system100, or from a network location associated with a network storageservice, such as Box, Google Drive, Drop Box, or any other networkstorage service.

In another embodiment, the content receiving service 110 may receivefiles, other than media content items, that include suggested changesfor the electronic document. For example, the content receiving service110 may receive additional marked-up electronic documents, scannedversions of marked-up physical documents, and any other type of filethat may contain mark-ups corresponding to suggested changes to theelectronic document.

At block 804, the document management system 100 may identify, from thereceived media content item, portions of media content corresponding tocontent suggestions for the electronic document. Portions of mediacontent may refer to a subset of a media content item, such as an audioclip, video clip, a crop of an image, or any other subset of a mediacontent item. In an embodiment, the document management system 100 mayuse the speech recognition service 133 to analyze each of the mediacontent items to identify portions of media content that refer todocument portions of the reviewed document. For example, the speechrecognition service 133 may identify audio clips of users talking aboutedits specific words, phrases, sections of a reviewed document.

In an embodiment, the speech recognition service 133 may implement amachine learning model configured to identify portions of media contentthat indicate suggested changes for the electronic document. The machinelearning model may receive as input a media content item that containsaudio. The machine learning model may analyze speech detected in themedia content item and translate the speech into text. The text may thenbe analyzed for specific words or phrases that may indicate contentsuggestions for the reviewed document. The machine learning model mayalso identify statements that may indicate a position within a document,such as “on the second page,” “the final paragraph,” “the sentencestarting with,” and so on. The output of the machine learning model mayinclude a set of portions of media content identified as potentialsuggested edits for the document reviewed.

In an embodiment, the machine learning model implemented by the speechrecognition service 133 may be configured to assign a confidence scoreto text transcriptions of the set of portions of media contentidentified, where the confidence score represents an accuracy value forthe translation. Determining the confidence score may be based on theclarity of the speech within the portions of media content and how wellthe machine learning model is able to match translated words and phrasesto the spoken speech in the portions of media content.

In an embodiment, if the received media content items include mediacontent that is a video, screenshot, or an image file that contains animage of mark-ups, then the document management system 100 may use themarkup recognition service 132 to identify marks that correspond to asuggested edit. The markup recognition service 132 may analyze marks,such as handwritten marks, in order to determine a meaning of the mark.As described, the markup recognition service 132 may implemented amachine learning model to determine marks, and the meaning of the marksfrom the media content items. In the example of a video, the documentmanagement system 100 may use both the markup recognition service 132and the speech recognition service 133 to identify suggested edits frommarks captured by video and portions of media content captured by theaudio of the video. In another embodiment, if the received files includemarked-up electronic documents or marked-up physical documents, then thedocument management system 100 may use the markup recognition service132 to identify marks that correspond to a suggested edit.

At decision diamond 806 the document management system 100 may determinewhether there are portions of media content to be analyzed. If there areportions of media content that is to be analyzed to generate anannotation, then the document management system 100 may select a portionof media content from the portions of media content and proceed to block808 to analyze the selected portion of media content. If however, thereare no additional portions of media content to be analyzed, then thedocument management system 100 may proceed to block 814 to generateupdated electronic documents that include the updated annotations.

At block 808, the document management system 100 may identify a documentportion, from the document portions of the electronic document, thatcorresponds to the portion of media content. In an embodiment, thedocument management system 100 may implement one or more machinelearning models to identify document types for the document, identifyspecific document portions within the document that correspond tosections, phrases, specific keywords, and any other content specificportion, and determine a correlation between the portion of mediacontent and a document portion.

In an embodiment, similar to block 608 in FIG. 6, the documentmanagement system 100 may identify a document portion, from the documentportions of the electronic documents, that corresponds to the portion ofmedia content. In an embodiment, the document management system 100 mayimplement one or more machine learning models to identify document typesfor each of the one or more documents, identify specific documentportions within the one or more documents that correspond to sections,phrases, specific keywords, and any other content-specific portion, anddetermine a correlation between the portion of media content and adocument portion.

In an embodiment, the document management service 105 may send theportion of media content and the document portions identified from theelectronic documents to the content correlation service 134 to determinea correlation between a document portion and the portion of mediacontent. The content correlation service 134 may use a machine learningmodel configured to determine matches between the translated text andthe document portions. The content correlation service 134 may send tothe document management service 105 a reference to the portion of mediacontent and a matching document portion. The corresponding documentportion may be a reference to the document portion and/or a positionallocation within the electronic document corresponding to the matchingdocument portion.

At block 810, the document management system 100 may determine that thedocument portion identified at block 808 is associated with an existingannotation. In an embodiment, the document management service 105 mayaccess existing stored annotations from the data repository 170 in orderto determine whether an existing annotation is associated with theidentified document portion. For example, if the identified documentportion corresponds to the term “AI Ricoh Interactive AssistanceService” in the first paragraph of document “exampleDoc.doc” then thedocument management service may access the existing stored annotationsfrom the data repository 170 to determine whether an existing annotationfor the “AI Ricoh Interactive Assistance Service” exists. If an existingannotation exists in the data repository 170, the document managementservice 105 may identify the annotation and proceed to block 812 toupdate the existing annotation.

In an embodiment, the document management service 105 may analyze thedocument portion associated with an existing annotation to determinewhether the associated document portion of the existing annotationcorresponds to the identified document portion of the portion of mediacontent. As described, document portions may represent words, phrases,sentences, images, paragraphs, and sections. If a document portionassociated with an existing annotation corresponds to a particularparagraph and the identified document portion for the portion of mediacontent corresponds to a word or phrase within the particular paragraphthen the document management service 105 may determine that the twodocument portions represent separate portions of the document eventhough the document portions overlap. The document management service105 may then send a request to the annotation generation service 120 togenerate a separate annotation for the portion of media contentcorresponding. In an embodiment, the document management service 105 maybe configured to determine whether the amount of overlap between twodocument portions exceeds a threshold to determine that the documentportions correspond to the same portion. For instance, the threshold maybe set at a 60% overlap, where the two document portions must overlap by60% or more to be considered the same document portion. In the previousexample, if the document portion associated with an existing annotationcorresponds to an entire paragraph and the document portion associatedwith the portion of media content corresponds to a sentence within theparagraph and the sentence makes up less than 60% of the paragraph, thenthe document management service 105 may determine that the threshold hasnot been met and the existing annotation may not be considered asoverlapping with the portion of media content. In an embodiment, thethreshold value for determining document portion overlap may beconfigured to any overlap value between 0 and 100.

At block 812, the document management system 100 updates the existingannotation based on the portion of media content. In an embodiment, thedocument management service 105 may update the existing annotation basedon the portion of media content. The update may include adding to theannotation object any of the following: the text transcription of theportion of media content, a confidence score that is associated with thetext transcription, and a link to the portion of media content.

In an embodiment, the document management service 105 may determinewhether the existing annotation type and the suggestion type determinedfor the portion of media content are the same. If the existingannotation type and the suggestion type of the portion of media contentare the same, then the document management service 105 may send arequest to the annotation generation service 120 to update the existingannotation. If however, the existing annotation type and the suggestiontype of the portion of media content are not the same, then the documentmanagement service 105 may send a request to the annotation generationservice 120 to generate a new annotation for the portion of mediacontent. The document management service 105 may ensure that differentsuggestion types are represented by unique annotations in order toclearly identify the different types of suggestions.

In an embodiment, the document management service 105 may determinewhether the user ID associated with existing annotation type is the sameuser ID that is associated with the portion of media content. If theuser ID associated with existing annotation type is the same user IDthat is associated with the portion of media content, then the documentmanagement service 105 may send a request to the annotation generationservice 120 to update the existing annotation. If however, the user IDassociated with existing annotation type is not the same user ID that isassociated with the portion of media content, then the documentmanagement service 105 may send a request to the annotation generationservice 120 to generate a new annotation for the portion of mediacontent. The document management service 105 may request generation ofunique annotations for each user ID for the purpose of clearlydisplaying each user's suggestions. Additionally, when displayingannotations within a display window, a user may filter annotations basedon user ID, therefore having unique user IDs for each annotation mayallow for filtering by user.

In another embodiment, if the user IDs between an existing annotationand the portion of media content are different, then the documentmanagement service 105 may request the annotation generation service 120to update the existing annotation to include the portion of mediacontent, but specify that the portion of media content is associatedwith a different user ID. Annotations that have content from multipleuser IDs may be marked or indicated as such within the display window.Referring to FIG. 7, annotation 720 is an example annotation thatcontains content from multiple users. Annotation 720 is associated withthe document portion corresponding to the term IFPD's. Annotation 720contains two comments, the first comment is identified as “RicohReviewer” which corresponds to a Ricoh employee who attended thedocument review meeting and was captured speaking by the media contentitem. The second comment is identified as “Jane Doe” and originates froma marked-up electronic document.

At block 814, the document management system 100 may display, inelectronic form within a display window, the electronic document withthe updated annotations, existing annotations, and newly generatedannotations. In an embodiment, the document management service 105 maycommunicate with the document presentation service 150 to generate agraphical user interface for displaying the electronic document with theone or more updated and generated annotations within the display windowon a client computing device. The graphical user interface may include,but is not limited to, displaying the original content of the electronicdocument, the associated annotations, and the mark-ups associated withthe annotations overlaid onto the display of the original content.

Referring to FIG. 7, reviewer drop-down list 730 may represent adrop-down list of available reviewers that provided suggestions for theelectronic document. If a particular reviewer, such as Jane Doe, isselected from the reviewer drop-down list 730, then the graphical userinterface may display mark-ups and annotations associated with reviewerJane Doe. In an embodiment, the document presentation service 150 may beconfigured to show specific annotations associated with multiple userswhen one of the multiple users is selected from the reviewer drop-downlist 730. For instance, if reviewer Jane Doe is selected from thereviewer drop-down list 730, then the document presentation service 150may display annotation 720 even though annotation 720 containssuggestions from Jane Doe and Ricoh Reviewer.

In another embodiment, the document presentation service 150 may beconfigured to only show the comments of an annotation from the specificuser selected in the reviewer drop-down list 730. For example, when JaneDoe is selected from the reviewer drop-down list 730 the documentpresentation service 150 may display only the comments associated withJane Doe which includes “What does IFPD stand for? Maybe expand?” In yetother embodiments, the document presentation service 150 may beconfigured to show the comments of an annotation from the specific userselected as well as public user comments. A public user comment mayinclude comments associated with a generic user ID, such as “RicohReviewer” or any other group user ID that is configured to be public.

E. Generating Third-Party Annotation Requests

Electronic documents under review may be managed by systems other thanthe document management system 100. For instance, an electronic documentmay be managed by an external document management system, such asG-Suite by Google or any other commercially available or privatelymanaged document management system. The document management system 100may be configured to identify content suggestions from a variety ofinputs, determine the types of suggestions, and generate annotationgeneration requests that may be sent to the external document managementsystem managing the electronic document under review.

FIG. 9 is a flow diagram that depicts an approach for generatingannotation requests based on suggestions received from content input.Process 900 may be performed by a single program or multiple programs.The operations of the process as shown in FIG. 9 may be implementedusing processor-executable instructions that are stored in computermemory. For purposes of providing a clear example, the operations ofFIG. 9 are described as performed by services of the document managementsystem 100. For the purposes of clarity, process 900 is described interms of a single entity.

At block 902, the document management system 100 may receive contentinput that represents content suggested for content within an electronicdocument managed by a third-party management system. In an embodiment,the content receiving service 110 may receive the content input thatincludes suggestions for content within the electronic document. Contentinput may represent any type medium that include content suggestions forcontent within the electronic document including, but not limited to, amarked-up physical document, a marked-up electronic document, a mediacontent item in the form of audio, video, or one or more screenshots, orany other file that contains the suggested changes to the content. Thecontent receiving service 110 may receive the content input via directupload to a specified website, a link to a network location associatedwith a network storage service, email, or any other way.

In an embodiment, the document management service 105 may determine thecontent of the electronic document from the received content input. Forexample, if the received content input is a marked-up electronicdocument, then the document management service 105 may determine theoriginal content of the electronic document based upon text that doesnot include mark-ups, comments, or tracked changes. In anotherembodiment, the document management service 105 may determine theoriginal content for the electronic document by communicating with thethird-party document management system to retrieve an original versionof the electronic document. For example, the document management service105 may determine the name of the original electronic document from thefilename given to the content input. In other examples, the documentmanagement service 105 may send a request for the original electronicdocument to the third-party document management system. The third-partydocument management system may respond with a copy of the originalelectronic document, or a link to download the original electronicdocument.

In examples where the content input represents a content media item, thedocument management service 105 may extract the name of the originalelectronic document from the captured content within the content input.For instance, if the content input is an audio file, the documentmanagement service 105 may analyze the audio content for spoken wordsthat may represent the file name of the electronic document underreview. The document management service 105 may then send a request forthe original electronic document to the third-party document managementsystem.

At block 904, the document management system 100 may identify one ormore content suggestions that represent suggested changes to theelectronic document. In an embodiment, if the content input is amarked-up electronic document, then the document management service 105may identify the content suggestions as mark-ups in the marked-upelectronic document by first identifying the original content within theelectronic mark-up document by comparing the electronic mark-up documentto the original content from the retrieved original electronic document.The document management service 105 may identify the mark-ups in theelectronic markup document by identifying content that is separate fromthe original content identified.

In an embodiment, the document management service 105 may use the markuprecognition service 132 to analyze each of the mark-ups identified inorder to determine meanings for the mark-ups. The markup recognitionservice 132 may implement the machine-learning model to identifymeanings for each of the mark-ups.

In an embodiment, if the content input is a media content item, then thedocument management service 105 may identify, from the content input,content suggestions refer to document portions within the electronicdocument. The content suggestions may represent portions of mediacontent, such as audio clips, video clips, or crops of screenshots thatrefer to portions of the electronic document. In an embodiment, thedocument management service 105 may use the speech recognition service133 to analyze the content input to the content suggestions that referto document portions of the reviewed documents. The speech recognitionservice 133 may implement a machine learning model configured toidentify the content suggestions that indicate suggested changes for theelectronic documents.

In an embodiment, the document management service 105 may determine asuggestion type from the meaning of the content suggestion identified.For example, if the content input is a marked-up electronic documentthen the document management service 105 may use the markup recognitionservice 132 to determine a suggestion type based upon the meaning of theidentified mark-up. In another example, if the content input is a mediacontent item, then the document management service 105 may use thespeech recognition service 133 to determine translated text for thecontent suggestion and determine a suggestion type based upon themeaning of the translated text.

In an embodiment, the document management service 105 may determine auser ID for a user that is associated with an identified contentsuggestion. For instance, if the content input is a marked-up electronicdocument. Then the document management service 105 may determine a userfrom metadata associated with the marked-up electronic document, such asauthor properties for the electronic document or a username associatedwith a particular comment embedded in the marked-up electronic document.If the content input is media content item, then the document managementservice 105 may use the speech recognition service 133 to determine auser associated with speech corresponding to a particular contentsuggestion.

Upon identifying the one or more content suggestions, the documentmanagement system 100 may iteratively analyze each content suggestion inorder to determine a corresponding document portion from the originalcontent of the electronic document. At decision diamond 906, thedocument management system 100 may determine whether there are remainingcontent suggestions for analysis. If there is a remaining contentsuggestion that is to be analyzed, then the document management system100 may select a content suggestion and proceed to block 908 to analyzethe selected content suggestions. If however, there are no additionalcontent suggestions to be analyzed, then the document management system100 may proceed to block 912 to send one or more generated documentsuggestion requests to the third-party management system.

At block 908, the document management system 100 may identify a documentportion, from the document portions of the electronic document, thatcorresponds to the selected content suggestion. In an embodiment, thedocument management system 100 may implement one or more machinelearning models to identify a document type for the electronic document,identify specific document portions within the electronic document thatcorrespond to sections, phrases, specific keywords, and any othercontent specific portion, and determine a correlation between theportion of media content and a document portion.

Upon determining the document portions within the original electronicdocument, the document management system 100 may determine a correlationbetween the selected content suggestion and a document portion. In anembodiment, the content correlation service 134 may identify a matchbetween the selected content suggestion and a document portion of thedocument portions identified from the electronic document.

At block 910, the document management system 100 may generate a documentsuggestion request for the selected content suggestion. In anembodiment, the annotation generation service 120 may generate athird-party compatible document suggestion request that includes a texttranscription of the content suggestion, the type of suggestion, a userID determined from the content suggestion, an electronic documentlocation corresponding to the document portion of the electronicdocument, and an electronic link to the content input. For example, ifthe selected content suggestion is an audio clip from a media contentitem of comments directed to a product described in the electronicdocument, then the document suggestion request generated may include atext transcription of the audio clip, a suggestion type, such as acomment, determined from the translated audio clip, a user IDidentifying the user who made the suggestion, a document locationcorresponding to the document portion of the product described, and anelectronic link to the media content item queued to the specific audioclip.

Upon generating the document suggestion request, the document managementsystem 100 may proceed to decision diamond 906. At decision diamond 906the document management system 100 may determine whether there areremaining content suggestions to be analyzed. IF there are remainingcontent suggestions to be analyzed, the document management system 100may repeat blocks 908 and 910 until all content suggestions have beenanalyzed. If there are no remaining content suggestions to be analyzed,then the document management system 100 may proceed to block 912.

At block 912, the document management system 100 may send the generateddocument suggestion requests to the third-party management system. In anembodiment, the document management service 105 may send, via network160, the generated document suggestion requests to the third-partymanagement system. In an embodiment, if the content input is a mediacontent item, then the document management service 105 may send, alongwith the document suggestion requests the content input corresponding tothe document suggestion requests. For instance, if the documentsuggestion request corresponds to an audio clip from a media contentitem, then the document management service 105 may send the mediacontent item with metadata queuing the media content item to thecorresponding audio clip. The third-party management system may receivethe document suggestion requests, along with corresponding media contentitems, and generate annotations that are specific to the third-partymanagement system. For example, if the third-party management system isGoogle G-Suite, then Google G-Suite may generate a comment for areceived document suggestion request. If the document suggestion requestincludes a media content item reference, then the corresponding mediacontent item may be stored within Google G-Suite and the generatedcomment may have an electronic link to the stored media content item,such that a user reviewing the electronic document may select theelectronic link and listen to the corresponding audio clip.

F. Generating a Meeting Summary Document

Many professional and academic institutions may conduct document reviewmeetings to discuss and suggest changes to one or more documents. Adocument review meeting may include formal meetings between reviewers,ad hoc meetings between reviewers, and telephonic or video conferencesbetween reviewers. During document review meetings many differenttopics, which may cover content from multiple different documents, maybe discussed. Summary meetings documents may describe the differentdiscussion topics covered during the document review meeting. Forexample, one such discussion topic may be reviewing figures related tomultiple documents. It is advantageous to gather notes for eachdiscussion topic even when the discussion topic spans multipledocuments. However, relying on a single or multiple notetakers has itsdisadvantages as a notetaker may miss some details of discussions.

In an embodiment, the document management system 100 may be configuredto receive one or more media content items of captured discussionsduring the document review meeting. The document management system 100may analyze each of the media content items and generate a meetingsummary document that includes discussion topics from the documentreview meeting.

FIG. 10 is a flow diagram that depicts an approach for generating ameeting summary document based media content items of captureddiscussions during a document review meeting. Process 1000 may beperformed by a single program or multiple programs. The operations ofthe process as shown in FIG. 10 may be implemented usingprocessor-executable instructions that are stored in computer memory.For purposes of providing a clear example, the operations of FIG. 10 aredescribed as performed by services of the document management system100. For the purposes of clarity, process 1000 is described in terms ofa single entity.

At block 1002, the document management system 100 may receive one ormore media content items representing captured content from a reviewmeeting for one or more electronic documents. In an embodiment, thecontent receiving service 110 may receive media content items thatinclude recorded audio, video, and captured screenshots of a documentreview meeting of one or more documents.

At block 1004, the document management system 100 may identify, from theone or more media content items, one or more discussion topics discussedduring the review meeting. Discussion topics may refer to keywords orphrases that describe products, events, milestones, places, persons, orany other subject matter related to the reviewed documents that may bediscussed during the review meeting. In an embodiment, the documentmanagement service 105 may use the speech recognition service 133 toanalyze each of the media content items to identify specific keywordsand phrases that may represent discussion topics. The speech recognitionservice 133 may implement one or more machine learning models toidentify the discussion topics by analyzing the media content items. Themachine learning models may be trained using input data sets thatinclude keywords and phrases directed towards identified discussiontopics.

In another embodiment, a user, such as a meeting coordinator, mayprovide the document management service 105 a set of discussion topicsdiscussed during the review meeting. For example, a meeting coordinatormay, before or after the review meeting, provide a list of planneddiscussion topics for the review meeting. In another embodiment, thedocument management service 105 may receive, from a user, a list ofproposed discussion topics and may provide the list of proposeddiscussion topics to the speech recognition service 133, along with themedia content items. The speech recognition service 133 may beconfigured to use the list of proposed discussion topics as a guideand/or starting point for identifying discussion topics from the mediacontent items.

In yet another embodiment, the document management service 105 maydetermine the one or more electronic documents that are the subject ofthe review meeting and may provide the one or more electronic documentsto the content recognition service 131 to determine additionaldiscussion topics. The content recognition service 131 may be configuredto analyze the one or more electronic documents and determine potentialdiscussion topics based upon the sections, paragraphs, keywords, andtitles within the electronic documents.

At block 1006, the document management system 100 may identify, from theone or more media content items, portions of media content correspondingto content suggestions for the one or more electronic documentsdiscussed during the review meeting. In an embodiment, the documentmanagement system 100 may use the speech recognition service 133 toanalyze each of the media content items to identify a portion of mediacontent that refers to a document portion within the reviewed documents.For example, the speech recognition service 133 may identify audio clipsof users talking about edits to specific words, phrases, sections of areviewed document.

In an embodiment, the speech recognition service 133 may implement amachine learning model configured to identify portions of media contentthat indicate content suggestions for either comments or suggestededits. The machine learning model may receive as input a media contentitem that contains audio. The machine learning model may analyze speechdetected in the media content item and translate the speech into text.The text may then be analyzed for specific words or phrases that mayindicate suggested edits to the reviewed documents. For example,statements such as “the word . . . is duplicated,” “we need moreexamples,” “the introduction is too short,” “the word . . . ismisspelled,” and “could you update figure X,” may indicate that aspecific portion of the media content relates to a suggestion or editfor a document. The machine learning model may then assign a contentsuggestion type, such as a comment or a suggested edit, based on thetranslated text of the speech. The machine learning model may alsoidentify statements that may indicate a position within a document, suchas “on the second page,” “the final paragraph,” “the sentence startingwith,” and so on. The output of the machine learning model may include aset of portions of media content identified as potential contentsuggestions for the documents reviewed.

At decision diamond 1008, the document management system 100 maydetermine whether there are portions of media content to be analyzed. Ifthere are portions of media content that are to be analyzed, then thedocument management system 100 may select a portion of media contentfrom the portions of media content and proceed to block 1010. Ifhowever, there are no additional portions of media content to beanalyzed, then the document management system 100 may proceed to block1014.

At block 1010, the document management system 100 may associate adiscussion topic of the one or more discussion topics to the portion ofmedia content. In an embodiment, the document management service 105 mayuse the speech recognition service 133 to determine which discussiontopic is associated with the selected portion of media content. Thespeech recognition service 133 may be configured to determineassociations between identified discussion topics and the portion ofmedia content by analyzing keywords within the discussion topics and theportion of media content. The speech recognition service 133 mayimplemented a machine learning model to determine the associationbetween the portion of media content and the discussion topics. Forexample, the machine learning model may be trained to use certainkeywords present in the portion of media content to determine associateddiscussion topics that may be related to the certain keywords. Inanother embodiment, the speech recognition service 133 may analyzetimestamps associated with the discussion topics and the portion mediacontent to determine if the portion of media content corresponds to atime during the review meeting that corresponds to a particulardiscussion topic. Upon determining one or more discussion topicsassociated with the portion of media content, the document managementservice 105 may store, within a data object of the portion of mediacontent, property values identifying the associated discussion topics.

At block 1012, the document management system 100 may identify adocument portion, from the one or more electronic documents, thatcorresponds to the portion of media content. In an embodiment, thedocument management system 100 may implement one or more machinelearning models to identify document types for each of the one or moredocuments, identify specific document portions within the one or moredocuments that correspond to sections, phrases, specific keywords, andany other content-specific portion, and determine a correlation betweenthe portion of media content and a document portion.

In an embodiment, the document management service 105 may determinewhich documents were under review based on document file names providedby a user, such as the document review meeting coordinator, by analyzingthe received media content items to identify the filenames of thereviewed documents, or by receiving a list of reviewed documents from auser. In an embodiment, the content recognition service 131 may analyzecontent of the one or more documents reviewed to determine documenttypes and document portions for each reviewed document. The contentrecognition service 131 may implement a machine learning modelconfigured to determine document types of each document using thecontents of the documents as input. The machine learning model may beconfigured to identify document portions from a document that maycorrelate to content suggestions from media content items to locationswithin the document.

In an embodiment, the document management service 105 may send theportion of media content and the document portions identified from theone or more electronic documents to the content correlation service 134in order to determine a correlation between a document portion and theportion of media content. The portion of media content sent to thecontent correlation service 134 may be in the form of a data object thatincludes translated text from the speech recognition service 133 and theportion of media content in its original form. The document portions mayinclude additional property data, such as metadata, that describes theelectronic document associated with each document portion, the documenttype associated with the electronic document, and any other documentspecific information that may be used to assist in finding a matchbetween the portion of media content and the document portions.

In an embodiment, the content correlation service 134 may use a machinelearning model configured to determine matches between the translatedtext and the document portions. For example, if the translated text ofthe portion of media content includes “Please reword the first sentenceof the abstract,” then the machine learning model may determine whetherthere is a matching document portion that corresponds to a firstsentence of an abstract section of an electronic document. The machinelearning model may identify keywords within the portion of mediacontent, such as “abstract,” and determine that the abstract keywordrefers to a section within a patent application document type. Thecontent correlation service 134 may send to the document managementservice 105 a reference to the portion of media content and a matchingdocument portion. The corresponding document portion may be a referenceto the document portion and/or a positional location within theelectronic document corresponding to the matching document portion.

Upon identifying the document portion that corresponds to the portion ofmedia content, the document management system 100 may proceed todecision diamond 1008 to determine whether there are additional portionsof media content that need to be analyzed. If there are additionalportions of media content to be analyzed, the document management system100 may repeat blocks 1010 and 1012. If at decision diamond 1008 thereare no additional portions of media content to be analyzed, the documentmanagement system 100 may proceed to block 1014.

At block 1014, the document management system 100 may aggregate theportions of media content based upon their associated discussion topicsto generate topic sets of portions of media content. In an embodiment,the document management service 105 may generate topic sets of portionsof media content based upon matching associated discussion topics. Forexample, if five portions of media content are associated with the“Review figures and update” discussion topic, then the documentmanagement service 105 may generate a topic set of portions of mediacontent for the discussion topic “Review figures and update” and includethe five portions of media content within the topic set of portions ofmedia content.

At block 1016, the document management system 100 may generate a meetingsummary document. In an embodiment, the document management service 105may generate the meeting summary document that includes a list of thediscussion topics. FIG. 11 depicts an example embodiment of a displaywindow displaying the generated meeting summary document and a mediacontent item player. Display window 1105 represents a graphical userdisplay that includes a meeting description 1115, a first section 1110,and a second section 1120. The meeting description 1115 may displaygeneral details of the review meeting including the date and time of themeeting, the meeting name, the meeting location, and participants. Themeeting description 1115 example displayed in the display window 1105displays the date of the meeting.

The first section 1110 may include a media content item playerconfigured to play the one or more media content items. The mediacontent item player may be configured to with playback controls torewind, pause, play, fast-forward, and resize buttons to resize theplayback window. The media content item player may be configured toplayback any type of media content item, including, but not limited toaudio files, video files, interactive video files, and any otherplayable media.

The second section 1120 may include a display of the generated meetingsummary document which includes a list of the one or more discussiontopics. Document topics 1130 may represent a configurable topic headingthat may describe the type of topics listed. In an embodiment, each ofthe discussion topics listed may be displayed as listed items or asselectable electronic links. Discussion topic 1135 represents thediscussion topic “review figures and update”. Discussion topic 1150represents the discussion topic “Confirm product name with marketing”,which is displayed as a selectable electronic link. If a user selectedthe electronic link for discussion topic 1150, the document managementsystem 100 may generate and display a graphical user interface thatincludes electronic links to the portions of media content associatedwith the discussion topic 1150.

In an embodiment, portions of media content associated with a discussiontopic may be displayed within a sub-list below the discussion topic. Forexample, a sub-list of three portions of media content are displayeddirectly under discussion topic 1135. In an embodiment, the associatedportions of media content may be displayed as selectable electroniclinks, which when selected may cause the selected portion of mediacontent to be played back within the media content item player withinthe first section 1110 of the display window 1105. For example, if theuser selected the portion of media content 1140, entitled “FIG. 1—updatenumbers”, then the document management service 105 may cause playback ofthe media content item, that contains the portion of media content 1140,within the media content item player. Playback of the media content itemwould be queued to play the portion corresponding to the portion ofmedia content 1140.

In an embodiment, the sub-list displayed under each document topic mayalso include a list of second electronic links corresponding to theelectronic document that contains the document portion that isassociated with the portion of media content. For example, the sub-listmay display second electronic link 1145 that corresponds to theelectronic document “Doc-1” that contains the document portionsassociated with the “FIG. 1—update numbers” portion of media content1140. In an embodiment, the second electronic link 1145 may display textindicating the electronic document name and the page number thatcontains the corresponding document portion. In another embodiment, ifthe display window 1105 displays a summary document of a meetingdiscussing a single document, then the display text for the secondelectronic links within the summary document may only display the pagenumber corresponding to the document portion.

In an embodiment, the document management service 105 may receive aselection request, from a user, selecting the second electronic link1145. Upon receiving the selection request of the second electronic link1145, the document management service 105 may open the correspondingelectronic document and display the document page that contains theparticular document portion corresponding to the second electronic link.For example, the user may select the second electronic link 1145, whichmay cause the document management service 105 to open “Doc-1” anddisplay page 2 of the electronic document that contains the documentportion corresponding to the “FIG. 1—update numbers” suggestion.

In an embodiment, the document management service 105 may receive arequest to playback a particular media content item within the mediacontent item player within the first section 1110. The documentmanagement service 105, during playback of the particular media contentitem, may highlight specific discussion topics as they are discussedwithin the playback of the particular media content item. The documentmanagement service 105 may be configured to identify discussion topicsbased upon timestamps associated with each discussion topic. Forexample, the document management service 105 may playback the particularmedia content item and during playback the document management service105 determines that the timestamp of the playing media content itemmatches the timestamp associated with discussion topic 1135, then thedocument management service 105 may highlight discussion topic 1135within the second section 1120.

In an embodiment, the document management service 105 may be configuredto highlight particular portions of media content displayed and/orelectronic links of document portions displayed when the timestamp ofthe playing media content item matches a timestamp associated with theportion of media content. In another embodiment, the document managementservice 105 may be configured to open the corresponding electronicdocument and display corresponding document portion in order tosynchronize the display of the document portion to the playback of themedia content item. For example, if the media content item is playedback and the current timestamp of the media content item corresponds tothe document portion of the second electronic link 1145, then thedocument management service 105 may open “Doc-1” and display page 2 of“Doc-1” in order to display the document portion that corresponds to themedia being played back.

Referring to FIG. 10, at block 1018, the document management system 100may present the meeting summary document within a display window. In anembodiment, the document management service 105 may communicate with thedocument presentation service 150 to generate a graphical user interfacefor displaying the meeting summary document within the display window ona client computing device.

IV. Implementation Mechanisms

According to one embodiment of the invention, the techniques describedherein are implemented by one or more special-purpose computing devices.The special-purpose computing devices may be hard-wired to perform thetechniques, or may include digital electronic devices such as one ormore application-specific integrated circuits (ASICs) or fieldprogrammable gate arrays (FPGAs) that are persistently programmed toperform the techniques, or may include one or more general purposehardware processors programmed to perform the techniques pursuant toprogram instructions in firmware, memory, other storage, or acombination. Such special-purpose computing devices may also combinecustom hard-wired logic, ASICs, or FPGAs with custom programming toaccomplish the techniques. The special-purpose computing devices may bedesktop computer systems, portable computer systems, handheld devices,networking devices or any other device that incorporates hard-wiredand/or program logic to implement the techniques.

FIG. 12 is a block diagram that depicts an example computer system 1200upon which embodiments of the invention may be implemented. Computersystem 1200 includes a bus 1202 or other communication mechanism forcommunicating information, and a processor 1204 coupled with bus 1202for processing information. Computer system 1200 also includes a mainmemory 1206, such as a random access memory (RAM) or other dynamicstorage device, coupled to bus 1202 for storing information andinstructions to be executed by processor 1204. Main memory 1206 also maybe used for storing temporary variables or other intermediateinformation during execution of instructions to be executed by processor1204. Computer system 1200 further includes a read only memory (ROM)1208 or other static storage device coupled to bus 1202 for storingstatic information and instructions for processor 1204. A storage device1210, such as a magnetic disk or optical disk, is provided and coupledto bus 1202 for storing information and instructions.

Computer system 1200 may be coupled via bus 1202 to a display 1212, suchas a cathode ray tube (CRT), for displaying information to a computeruser. Although bus 1202 is illustrated as a single bus, bus 1202 maycomprise one or more buses. For example, bus 1202 may include withoutlimitation a control bus by which processor 1204 controls other deviceswithin computer system 1200, an address bus by which processor 1204specifies memory locations of instructions for execution, or any othertype of bus for transferring data or signals between components ofcomputer system 1200.

An input device 1214, including alphanumeric and other keys, is coupledto bus 1202 for communicating information and command selections toprocessor 1204. Another type of user input device is cursor control1216, such as a mouse, a trackball, or cursor direction keys forcommunicating direction information and command selections to processor1204 and for controlling cursor movement on display 1212. This inputdevice typically has two degrees of freedom in two axes, a first axis(e.g., x) and a second axis (e.g., y), that allows the device to specifypositions in a plane.

Computer system 1200 may implement the techniques described herein usingcustomized hard-wired logic, one or more ASICs or FPGAs, firmware and/orprogram logic or computer software which, in combination with thecomputer system, causes or programs computer system 1200 to be aspecial-purpose machine. According to one embodiment of the invention,those techniques are performed by computer system 1200 in response toprocessor 1204 executing one or more sequences of one or moreinstructions contained in main memory 1206. Such instructions may beread into main memory 1206 from another computer-readable medium, suchas storage device 1210. Execution of the sequences of instructionscontained in main memory 1206 causes processor 1204 to perform theprocess steps described herein. In alternative embodiments, hard-wiredcircuitry may be used in place of or in combination with softwareinstructions to implement the invention. Thus, embodiments of theinvention are not limited to any specific combination of hardwarecircuitry and software.

The term “computer-readable medium” as used herein refers to any mediumthat participates in providing data that causes a computer to operate ina specific manner. In an embodiment implemented using computer system1200, various computer-readable media are involved, for example, inproviding instructions to processor 1204 for execution. Such a mediummay take many forms, including but not limited to, non-volatile mediaand volatile media. Non-volatile media includes, for example, optical ormagnetic disks, such as storage device 1210. Volatile media includesdynamic memory, such as main memory 1206. Common forms ofcomputer-readable media include, for example, a floppy disk, a flexibledisk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM,any other optical medium, a RAM, a PROM, and EPROM, a FLASH-EPROM, anyother memory chip or memory cartridge, or any other medium from which acomputer can read.

Various forms of computer-readable media may be involved in carrying oneor more sequences of one or more instructions to processor 1204 forexecution. For example, the instructions may initially be carried on amagnetic disk of a remote computer. The remote computer can load theinstructions into its dynamic memory and send the instructions over atelephone line using a modem. A modem local to computer system 1200 canreceive the data on the telephone line and use an infra-red transmitterto convert the data to an infra-red signal. An infra-red detector canreceive the data carried in the infra-red signal and appropriatecircuitry can place the data on bus 1202. Bus 1202 carries the data tomain memory 1206, from which processor 1204 retrieves and executes theinstructions. The instructions received by main memory 1206 mayoptionally be stored on storage device 1210 either before or afterexecution by processor 1204.

Computer system 1200 also includes a communication interface 1218coupled to bus 1202. Communication interface 1218 provides a two-waydata communication coupling to a network link 1220 that is connected toa local network 1222. For example, communication interface 1218 may bean integrated services digital network (ISDN) card or a modem to providea data communication connection to a corresponding type of telephoneline. As another example, communication interface 1218 may be a localarea network (LAN) card to provide a data communication connection to acompatible LAN. Wireless links may also be implemented. In any suchimplementation, communication interface 1218 sends and receiveselectrical, electromagnetic or optical signals that carry digital datastreams representing various types of information.

Network link 1220 typically provides data communication through one ormore networks to other data devices. For example, network link 1220 mayprovide a connection through local network 1222 to a host computer 1224or to data equipment operated by an Internet Service Provider (ISP)1226. ISP 1226 in turn provides data communication services through theworld wide packet data communication network now commonly referred to asthe “Internet” 1228. Local network 1222 and Internet 1228 both useelectrical, electromagnetic or optical signals that carry digital datastreams.

Computer system 1200 can send messages and receive data, includingprogram code, through the network(s), network link 1220 andcommunication interface 1218. In the Internet example, a server 1230might transmit a requested code for an application program throughInternet 1228, ISP 1226, local network 1222 and communication interface1218. The received code may be executed by processor 1204 as it isreceived, and/or stored in storage device 1210, or other non-volatilestorage for later execution.

In the foregoing specification, embodiments of the invention have beendescribed with reference to numerous specific details that may vary fromimplementation to implementation. Thus, the sole and exclusive indicatorof what is, and is intended by the applicants to be, the invention isthe set of claims that issue from this application, in the specific formin which such claims issue, including any subsequent correction. Hence,no limitation, element, property, feature, advantage or attribute thatis not expressly recited in a claim should limit the scope of such claimin any way. The specification and drawings are, accordingly, to beregarded in an illustrative rather than a restrictive sense.

What is claimed is:
 1. An apparatus comprising: one or more processors;and one or more memories storing instructions which, when processed bythe one or more processors, cause: receiving one or more media contentitems representing captured content from a review meeting for one ormore electronic documents; identifying, from the one or more mediacontent items, one or more discussion topics discussed during the reviewmeeting; identifying, from the one or more media content items, portionsof media content corresponding to content suggestions for the one ormore electronic documents discussed during the review meeting; for eachportion of media content of the portions of media content: associating adiscussion topic of the one or more discussion topics to the portion ofmedia content; identifying a document portion, from the one or moreelectronic documents, that corresponds to the portion of media content;aggregating the portions of media content based upon their associateddiscussion topic to generate topic sets of portions of media content;generating a meeting summary document comprising a list of the one ormore discussion topics, wherein each discussion topic listed comprises acorresponding topic set of portions of media content; and presenting themeeting summary document within a display window.
 2. The apparatus ofclaim 1, wherein the corresponding topic set of portions of mediacontent comprises a list of first electronic links corresponding to eachportion of media content within the corresponding topic set of portionsof media content.
 3. The apparatus of claim 2, wherein each firstelectronic link of the list of first electronic links corresponding toeach portion of media content further comprises a second electronic linkcorresponding to the electronic document associated with the documentportion associated with the portion of media content corresponding tothe first electronic link.
 4. The apparatus of claim 3, the one or morememories store additional instructions which, when processed by the oneor more processors, cause: receiving a selection request for aparticular second electronic link corresponding to a particularelectronic document associated with a particular document portion; uponreceiving the selection request for the particular second electroniclink corresponding to the particular electronic document, opening theparticular electronic document and displaying the particular documentportion; and upon opening the particular electronic document, playingback a particular media content item that contains a particular portionof media content using a media content item player displayed within afirst section of the display window, wherein playback is queued to playthe particular portion of media content, and wherein the particularmedia content item is associated with the particular document portion.5. The apparatus of claim 2, the one or more memories store additionalinstructions which, when processed by the one or more processors, cause:receiving a selection request for a particular first electronic linkcorresponding to a particular portion of media content; and uponreceiving the selection request for the particular first electronic linkcorresponding to the particular portion of media content, playing back aparticular media content item that contains the particular portion ofmedia content using a media content item player displayed within a firstsection of the display window, wherein playback is queued to play theparticular portion of media content.
 6. The apparatus of claim 2, theone or more memories store additional instructions which, when processedby the one or more processors, cause: receiving a request to playback aparticular media content item of the one or more media content items;playing back the particular media content item using a media contentitem player within a first section of the display window; and uponplayback of a particular portion of media content within the particularmedia content item, highlighting, within a second section of the displaywindow, the discussion topic that contains the particular portion ofmedia content.
 7. The apparatus of claim 1, wherein identifying, fromthe one or more media content items, the one or more discussion topicsdiscussed during the review meeting comprises: using a machine-learningmodel, identifying the one or more discussion topics based upon spokenphrases and keywords within the one or more media content items, whereinthe machine-learning model has been trained using an input data set ofmedia content items that have identified discussion topics.
 8. One ormore non-transitory computer-readable media storing instructions which,when processed by one or more processors, cause: receiving one or moremedia content items representing captured content from a review meetingfor one or more electronic documents; identifying, from the one or moremedia content items, one or more discussion topics discussed during thereview meeting; identifying, from the one or more media content items,portions of media content corresponding to content suggestions for theone or more electronic documents discussed during the review meeting;for each portion of media content of the portions of media content:associating a discussion topic of the one or more discussion topics tothe portion of media content; identifying a document portion, from theone or more electronic documents, that corresponds to the portion ofmedia content; aggregating the portions of media content based upontheir associated discussion topic to generate topic sets of portions ofmedia content; generating a meeting summary document comprising a listof the one or more discussion topics, wherein each discussion topiclisted comprises a corresponding topic set of portions of media content;and presenting the meeting summary document within a display window. 9.The one or more non-transitory computer-readable media of claim 8,wherein the corresponding topic set of portions of media contentcomprises a list of first electronic links corresponding to each portionof media content within the corresponding topic set of portions of mediacontent.
 10. The one or more non-transitory computer-readable media ofclaim 9, wherein each first electronic link of the list of firstelectronic links corresponding to each portion of media content furthercomprises a second electronic link corresponding to the electronicdocument associated with the document portion associated with theportion of media content corresponding to the first electronic link. 11.The one or more non-transitory computer-readable media of claim 10,further comprising additional instructions which, when processed by theone or more processors, cause: receiving a selection request for aparticular second electronic link corresponding to a particularelectronic document associated with a particular document portion; uponreceiving the selection request for the particular second electroniclink corresponding to the particular electronic document, opening theparticular electronic document and displaying the particular documentportion; and upon opening the particular electronic document, playingback a particular media content item that contains a particular portionof media content using a media content item player displayed within afirst section of the display window, wherein playback is queued to playthe particular portion of media content, and wherein the particularmedia content item is associated with the particular document portion.12. The one or more non-transitory computer-readable media of claim 9,further comprising additional instructions which, when processed by theone or more processors, cause: receiving a selection request for aparticular first electronic link corresponding to a particular portionof media content; and upon receiving the selection request for theparticular first electronic link corresponding to the particular portionof media content, playing back a particular media content item thatcontains the particular portion of media content using a media contentitem player displayed within a first section of the display window,wherein playback is queued to play the particular portion of mediacontent.
 13. The one or more non-transitory computer-readable media ofclaim 9, further comprising additional instructions which, whenprocessed by the one or more processors, cause: receiving a request toplayback a particular media content item of the one or more mediacontent items; playing back the particular media content item using amedia content item player within a first section of the display window;and upon playback of a particular portion of media content within theparticular media content item, highlighting, within a second section ofthe display window, the discussion topic that contains the particularportion of media content.
 14. The one or more non-transitorycomputer-readable media of claim 8, wherein identifying, from the one ormore media content items, the one or more discussion topics discussedduring the review meeting comprises: using a machine-learning model,identifying the one or more discussion topics based upon spoken phrasesand keywords within the one or more media content items, wherein themachine-learning model has been trained using an input data set of mediacontent items that have identified discussion topics.
 15. Acomputer-implemented method comprising: receiving one or more mediacontent items representing captured content from a review meeting forone or more electronic documents; identifying, from the one or moremedia content items, one or more discussion topics discussed during thereview meeting; identifying, from the one or more media content items,portions of media content corresponding to content suggestions for theone or more electronic documents discussed during the review meeting;for each portion of media content of the portions of media content:associating a discussion topic of the one or more discussion topics tothe portion of media content; identifying a document portion, from theone or more electronic documents, that corresponds to the portion ofmedia content; aggregating the portions of media content based upontheir associated discussion topic to generate topic sets of portions ofmedia content; generating a meeting summary document comprising a listof the one or more discussion topics, wherein each discussion topiclisted comprises a corresponding topic set of portions of media content;and presenting the meeting summary document within a display window. 16.The computer-implemented method of claim 15, wherein the correspondingtopic set of portions of media content comprises a list of firstelectronic links corresponding to each portion of media content withinthe corresponding topic set of portions of media content.
 17. Thecomputer-implemented method of claim 16, wherein each first electroniclink of the list of first electronic links corresponding to each portionof media content further comprises a second electronic linkcorresponding to the electronic document associated with the documentportion associated with the portion of media content corresponding tothe first electronic link.
 18. The computer-implemented method of claim17, further comprising: receiving a selection request for a particularsecond electronic link corresponding to a particular electronic documentassociated with a particular document portion; upon receiving theselection request for the particular second electronic linkcorresponding to the particular electronic document, opening theparticular electronic document and displaying the particular documentportion; and upon opening the particular electronic document, playingback a particular media content item that contains a particular portionof media content using a media content item player displayed within afirst section of the display window, wherein playback is queued to playthe particular portion of media content, and wherein the particularmedia content item is associated with the particular document portion.19. The computer-implemented method of claim 16, further comprising:receiving a selection request for a particular first electronic linkcorresponding to a particular portion of media content; and uponreceiving the selection request for the particular first electronic linkcorresponding to the particular portion of media content, playing back aparticular media content item that contains the particular portion ofmedia content using a media content item player displayed within a firstsection of the display window, wherein playback is queued to play theparticular portion of media content.
 20. The computer-implemented methodof claim 16, further comprising: receiving a request to playback aparticular media content item of the one or more media content items;playing back the particular media content item using a media contentitem player within a first section of the display window; and uponplayback of a particular portion of media content within the particularmedia content item, highlighting, within a second section of the displaywindow, the discussion topic that contains the particular portion ofmedia content.